我正在学习 asp.net mvc 并发现了一些有趣的东西:
似乎我无法从 View 中显式定义 View 的 Model
,并显示错误消息说它没有 setter。
@{ this.Model = "Hello"}//错误
然后我查看了WebViewPage.cs中的源码,一个View的Model属性其实是这样的:
公共(public)对象模型{
得到 {
返回 View 数据模型;
}
}
因此错误。
但有趣的是我如何做到这一点:@{ ViewData.Model = "hello"; }
并且实际上能够使用 @model
语句,导致“你好”
我觉得我看的太多了,但为什么会这样呢?
C# 和 ASP.NET 初学者
最佳答案
规则是关注点分离......在 MVC 中, Controller 为 View 提供模型, Controller 始终可以将模型设置/分配给 View ...... View 可以使用。 ..这是设计使然...我会说按规则行事...如果您正在学习 MVC,它很棒,我强烈建议您阅读
关于c# - ASP.net MVC View 的模型与 ViewData.Model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9917211/