是否有任何合理的理由在asp.net mvc中使用ViewData

时间:2009-08-24 05:02:59

标签: asp.net-mvc

使用模型绑定,您可以构建一个要运送的对象并绑定到视图,是否有任何理由使用ViewData?

3 个答案:

答案 0 :(得分:2)

我不能预见一个我会使用它的实例,除非我从一个页面/主人的数据库中获取静态信息,然后以<p>或类似的方式显示。

如果该页面是一个只读页面,表示返回了一个项目列表,而且我还想显示来自数据库的文本,那么我可能会使用ViewData。

但这是一个例外。如果我从数据库中返回项目列表以及其他一些内容,那么我将创建一个表单视图模型,并简单地包含任何其他数据。

我想我的答案很少。

答案 1 :(得分:2)

ViewData似乎作为一种简单,方便的方法存在,你真的应该采用语法上更清晰的方式。我认为ArrayList的MVC等价物就好了,但你很难想出一个真正合理的借口来在良好的代码中使用它。

我可以想到使用它的一个例外是在您的所有页面中包含一些动态内容,这些内容会附加在ActionFilter或基本Controller类中 - 例如“WebsiteTitle”。不是试图篡改Controller操作返回的数据,而是在ViewData集合中包含类似的内容可能更有意义 - 可能以某些唯一标识符作为前缀,以使其明显包含在控制器操作之外。例如ViewData["Base_WebSiteName"]

答案 2 :(得分:0)

我对MVC很陌生但是我做的很少,我为所有观点编写了自定义对象。

我能想到的唯一原因是节省时间。你需要快速鞭打一些东西,也许页面上有多个数据对象和额外的东西,你不想花时间写一个把它放在一起的对象。这是一个很好的理由吗?在我看来没有。