作为应用程序的唯一开发人员,使用动态模型或ASP.NET MVC 3中的新ViewBag,只是一个坏主意(即,不构建强类型类)?
目前,我有一个强类型的viewdata策略,它打破了内置的html表单助手(如Html.TextBoxFor)。我的viewdata看起来像这样:
public class BaselineViewData {
...properties all views will need...
public Area1ViewData Area1ViewData {get;set;}
public Area2ViewData Area2ViewData {get;set;}
}
BaselineViewData的一些属性本身就是viewdata类。到目前为止,它一直很棒,但表单助手不能很好地工作。他们输出这样的东西:
@ Html.TextBoxFor(u => u.Username)输出
<input id="BaselineViewData.Area1ViewData.Username" ... />
通过该命名,内置的不显眼验证不起作用。
我用MVC 1启动了这个应用程序,它被移植到MVC 3 ...但没有利用MVC 3的所有好处。所以我决定我现在要完全重写应用程序,这将更容易比那时......现在已经为你处理了这么多。 ; d
答案 0 :(得分:10)
弱键入任何比静态类型代码更容易出错。
如果不使用强类型视图,你就会丢掉C#最大的优势之一。
答案 1 :(得分:1)
我将使用混合强类型/ viewbag viewdata策略。我将按照默认的asp.net mvc 3 app中的accountmodels文件中的示例给出。
谢谢!