我对MVC3非常陌生,在通过复数视频的asp.net mvc3教程后很快就遇到了问题。
尝试引入“添加模型”部分的强类型示例,这可以:
@model MvcApplication1.Models.RestaurantReview
@{
ViewBag.Title = "Home Page 1";
}
...
但是这不会......它构建,然后在运行时错误上窒息:
@model MvcApplication1.Models.RestaurantReview;
@{
ViewBag.Title = "Home Page 1";
}
...
唯一的区别是@model指令之后的半冒号,将其转换为语句而不是指令。
视觉工作室为什么不知道这会崩溃? IIS在崩溃期间出现的错误消息甚至不是错误实际位于代码中的正确行号。
VS确实以红色突出显示该行,告诉我只有这样的等等可以在语句中使用,但它不会阻止构建成功。
如果它没有立即被捕获,那么在一个大项目中进行调试似乎是一场噩梦,不是吗?
答案 0 :(得分:3)
这显然是一个错误。我们知道它并将为下一版本的MVC修复它(实际上修复已经在MVC 4 Developer Preview中)。
答案 1 :(得分:2)
编译您对构建事件的视图,如果存在语法错误,它应该会阻止您的视图。
要编辑您的观点,请执行以下操作;
请参阅以下代码;
<!--There some lines of code here and I deleted them to get to the point quickly-->
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<MvcBuildViews>false</MvcBuildViews>
将 MvcBuildViews 节点值从false
更改为true
完成此操作后,保存并重新加载 项目
然后,构建您的解决方案以进行编译。您将看到您的视图也将被编译。
<强>更新强>
试过你的例子,它按照假设窒息。所以它有Works on My Machine批准印章
<强>更新强>
我写了一篇关于这个主题的快速博客文章。查看详细信息: