视图标题中@model和@inherit的MVC4 Razor差异?

use*_*510 19 .net c# asp.net-mvc-3 asp.net-mvc-4 razor-2

为了使视图强烈键入,我们可以使用@model@inherit.你能否告诉我他们两者之间有什么区别?

编辑:

请看这个例子.

Wik*_*hla 25

区别如下:如果您的视图继承自WebViewPage<T>那时您的模型指令指向T.

换句话说,这两者是等价的

@inherits System.Web.Mvc.WebViewPage<ModelClass>
Run Code Online (Sandbox Code Playgroud)

@model ModelClass
Run Code Online (Sandbox Code Playgroud)

参考:http://weblogs.asp.net/scottgu/archive/2010/10/19/asp-net-mvc-3-new-model-directive-support-in-razor.aspx

  • `@ model`指令无效,因为我在使用自定义虚拟提供程序的单独项目中查看了我的视图.`@ inherits`就像一个魅力,解决了几个小时或互联网挖掘.谢谢.:-) (2认同)

小智 5

它们是相同的(即表示强类型模型类)但@inherit更冗长(因为完整路径).@inherit剃刀首次推出时是唯一可行的方法(我认为MVC 3的预发布),但我已经多年没见过了.