加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – ASP.NET MVC 3.0 – 为什么在视图中强类型模型

发布时间:2020-12-16 03:52:07 所属栏目:asp.Net 来源:网络整理
导读:我正在积极开发桌面应用程序,本地和网络服务,一些经典的ASP.NET等,所以我习惯于静态编译和静态代码分析.现在我(最后)学习 ASP.NET MVC 3.0我发现很多ASP.NET MVC专家和经验丰富的开发人员都建议在ASP.NET MVC 3.0中使用强类型视图(如果适用). 我猜测“强类型
我正在积极开发桌面应用程序,本地和网络服务,一些经典的ASP.NET等,所以我习惯于静态编译和静态代码分析.现在我(最后)学习 ASP.NET MVC 3.0我发现很多ASP.NET MVC专家和经验丰富的开发人员都建议在ASP.NET MVC 3.0中使用强类型视图(如果适用).

我猜测“强类型”意味着在视图代码的顶部编写@model = …但是在这样做时我只能使IntelliSense工作,没有进行静态代码检查.我可以在cshtml的@model语句中编写我想要的任何内容,它将编译并运行.因此,Model.Anything也会编译.事实上,如果我不输入@model,我可以动态地使用我想要的具有“兼容”属性和方法的任何模型.

我习惯于“强类型”意思是“不会编译”,就像LINQ一样,只要你没有得到正确的属性就不会编译.除了IntelliSense和运行时错误之外@model是否有任何其他用途,为什么它被称为强类型,如果它实际上不是?

Strong typing,Meanings in computer literature

解决方法

默认情况下,视图在运行时编译.您可以通过设置以下属性来修改项目文件(csproj)以在应用程序构建时编译视图:

<MvcBuildViews>true</MvcBuildViews>

这种方法的缺点是您的构建时间将显着增加.您应该考虑仅对发布版本将此选项设置为true.

您可以通过卸载项目来编辑项目文件,右键单击项目并选择“编辑项目文件”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读