为什么在声明时使用@model,在访问模型时使用@Model?

时间:2015-09-04 09:11:57

标签: asp.net asp.net-mvc

在View中,当我们声明我们使用的模型的数据类型时:

@model SomeDatatype

但是当访问(用于显示目的)时,我们必须使用

<div>@Model.SomeProperty</div>

为什么会出现这种差异? ('@M'和'@m')。 我知道MVC是“约定优于配置”,但是每次我写@Model时都不知道为什么。

2 个答案:

答案 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