使用ASP.NET MVC动态模型/ viewbag只是一个坏主意?

时间:2010-12-13 03:34:53

标签: asp.net-mvc

作为应用程序的唯一开发人员,使用动态模型或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

2 个答案:

答案 0 :(得分:10)

弱键入任何比静态类型代码更容易出错。

如果不使用强类型视图,你就会丢掉C#最大的优势之一。

答案 1 :(得分:1)

我将使用混合强类型/ viewbag viewdata策略。我将按照默认的asp.net mvc 3 app中的accountmodels文件中的示例给出。

谢谢!