我正在构建我的第一个mvc3应用程序。我有几个问题是:ASP.NET MVC3第一次问题
1)剃须刀视图引擎让我把代码嵌入到视图中。这不是我们曾经试图逃脱的吗?即保持代码不在aspx中。
2)模型是否需要实现一个接口?
3)模型是否需要有方法?或者只是属性?
感谢
我正在构建我的第一个mvc3应用程序。我有几个问题是:ASP.NET MVC3第一次问题
1)剃须刀视图引擎让我把代码嵌入到视图中。这不是我们曾经试图逃脱的吗?即保持代码不在aspx中。
2)模型是否需要实现一个接口?
3)模型是否需要有方法?或者只是属性?
感谢
很模糊的问题,但我会给你我的5C价值:
没错,但我们把剃刀意见的代码通常只有生成HTML的控制。 。MVC3中的帮助器方法利用Viewmodels中的数据属性并生成验证等。 如果这么说,完全可以选择多少代码放在视图中。
号
的ViewModels应该是蠢(POCO)成为可能,而业务逻辑方法应该是把你的域模型,把好DDD开发人员,你是;)
EditorFor
或DisplayFor
或像using (Html.BeginForm())
的东西。主要的商业逻辑不应该放在视图层。实际上,第一部分对于aspx引擎和WebForms也是如此。和Php,和经典的ASP,并...
1)它可能看起来有点像这样,但真的取决于代码是什么。恕我直言,你应该真的应该避免在视图中的任何逻辑或代码,除了直接与渲染视图有关。尽管如此,Razor在视图中提供了一种可爱的干净编码方式。
2)否 - 任何类都可以成为模型。
3)没有什么可以阻止你在模型上放置方法 - 但实际上它们应该是非常简单的数据传输对象 - 它们只是“携带”数据。所以更多的时候,坚持属性。
1)剃须刀视图引擎让我把代码嵌入到视图中。这不是我们曾经试图逃脱的吗?即保持代码不在aspx中。
不,我们曾经试图让逻辑脱离视图。这对视图有更多的控制,但不应该被用作实现逻辑的方法。
2)模型是否需要实现接口?
没有。
3)模型是否需要有方法?或者只是属性?
模型只是类。他们定义你班级的结构。