Asp.net mvc ASP.NET MVC强类型视图与否?

Asp.net mvc ASP.NET MVC强类型视图与否?,asp.net-mvc,viewdata,strongly-typed-view,Asp.net Mvc,Viewdata,Strongly Typed View,最佳做法是什么?只使用通过ViewData字典的不带任何参数的强类型视图,或者在视图中使用类似的内容是一个不错的主意: <%: (string)ViewData["helloMessage"]%> 谢谢。您应该更喜欢强类型视图。在某些情况下,您只需要一个字符串,如示例中所示,它不属于某个模型,那么可以使用它。另一种方法是将该变量封装到一个类中,并将该类传递给视图。结果将是一个强类型视图:-) 我个人不喜欢魔法琴弦。使用“魔法琴弦”没有什么错。 但是,它们容易出现打字错误 在MV

最佳做法是什么?只使用通过ViewData字典的不带任何参数的强类型视图,或者在视图中使用类似的内容是一个不错的主意:

<%: (string)ViewData["helloMessage"]%>


谢谢。

您应该更喜欢强类型视图。在某些情况下,您只需要一个字符串,如示例中所示,它不属于某个模型,那么可以使用它。另一种方法是将该变量封装到一个类中,并将该类传递给视图。结果将是一个强类型视图:-)


我个人不喜欢魔法琴弦。

使用“魔法琴弦”没有什么错。
但是,它们容易出现打字错误

在MVC 3中,控制器中有一个与视图中的视图对象相对应的动态对象
ViewModel

因此,您可以分配
ViewModel.MyData=“something”并在视图中作为
@view.MyData

这是一种更好的方式

只有强类型视图可以从编译时检查中获益。
由您决定。

就我个人而言,我使用动态对象。

MVC 3中的动态对象方法非常棒。我也经常使用它;-)如果只向视图传递字符串,则不需要仅为该字符串创建特殊类。相反,将字符串类本身作为模型传递:
stringa=“”;返回视图(a)同样,如果它是一个字符串,您必须执行
返回视图((对象)a)
这样就不会混淆视图名称的字符串-但是,您可以使视图指向字符串模型。