ASP.NET MVC视图无法显示‘Shrek’,报错找不到‘Shrek!’相关视图文件
问题解决:视图无法显示"Shrek"反而报错找不到视图
错误原因
你遇到的错误说明ASP.NET MVC框架正在尝试寻找名为"Shrek!"的视图文件,但你并未创建该视图——核心问题是你的控制器代码错误地把要显示的电影名称当成了视图名称返回,导致框架找错了目标。
修复步骤
1. 修正控制器的返回逻辑
检查你的Movies控制器代码,避免直接将电影名称传给View()方法(这会被框架识别为视图名称)。正确写法参考:
- 使用与Action同名的默认视图,将电影名称作为模型传递:
public ActionResult ShowMovie() { string movieName = "Shrek"; // 把模型传给默认视图(ShowMovie.cshtml) return View(movieName); }
- 明确指定视图名称,再传递模型:
public ActionResult ShowMovie() { string movieName = "Shrek"; // 指定使用Index视图,同时传递模型数据 return View("Index", movieName); }
2. 在视图中接收并显示模型
确保你有对应的视图文件(比如~/Views/Movies/Index.cshtml或~/Views/Movies/ShowMovie.cshtml),在视图里添加代码展示模型数据:
@model string <p>电影名称:@Model</p>
3. 检查电影名称的拼写
错误提示里的视图名带感叹号,确认你的电影名称变量是否误写为"Shrek!",如果是,修正为"Shrek"即可。
内容的提问来源于stack exchange,提问作者Oh_Re_Vah
相关产品推荐
相关产品推荐

