25

要使视图具有强类型,可以使用@模型@继承你能告诉我他们两个有什么区别吗?

编辑:

请参阅这个例子.

1
  • 1
    哇@继承!及时!谢谢;我不知道答案;但你的问题就是我的答案 评论 2014年5月25日16:57

2个答案2

重置为默认值
32

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

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

@继承系统。网状物。Mvc公司。WebViewPage<模型类>

@模型ModelClass

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

  • 1
    这是否意味着@@只继承对System的操作。网状物。Mvc公司。WebviwPage<T>?使用@@model,我们可以自由选择类吗? 评论 2014年5月25日11:11
  • @用户576510:@模型也意味着页面继承自Web视图页面。您指定的是泛型参数。 评论 2014年5月25日13:34
  • 这个@模型指令不起作用,因为我的视图位于使用自定义虚拟提供程序的单独项目中。这个@继承工作起来很有魅力,解决了工作时间或网络挖掘问题。谢谢。:-) 评论 2014年11月18日19:30
6

它们是相同的(即表示强类型的模型类),但@继承更详细(因为路径完整)。@继承当剃须刀首次推出时(我认为是MVC 3的预发布版),这是唯一的方法,但我已经多年没有看到它被使用了。

2
  • 我明白了,但问题是他们为什么需要引入@@模式?我不敢相信两个人都做同样的事。 评论 2014年5月25日11:10
  • Wiktor的答案中的链接更好地解释了这一点。
    – 用户3559349
    评论 2014年5月25日11:13

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.