在View中,当我们声明我们使用的模型的数据类型时:
@model SomeDatatype
但是当访问(用于显示目的)时,我们必须使用
<div>@Model.SomeProperty</div>
为什么会出现这种差异? ('@M'和'@m')。 我知道MVC是“约定优于配置”,但是每次我写@Model时都不知道为什么。
答案 0 :(得分:2)
一个用于声明model
的强类型,另一个用于访问model
本身。
模型是一个变量,@model
是一个关键字,说明Model
的类型。
@model YourProject.Models.XYZ
上面是一种声明强类型视图的方法。
模型是variable
YourProject.Models.XYZ
答案 1 :(得分:1)
基本上小模式的@model是指令,其中带有大M的@Model是实际属性。
修改强>
再添加一点解释。 @model实际上是一种在视图中定义Model pass类型的语法糖方法。
使用to,您将使用@inhertis进行模型声明,使用@model更容易定义强类型。
您可以阅读更多信息:http://weblogs.asp.net/scottgu/asp-net-mvc-3-new-model-directive-support-in-razor