Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 是否有正当理由在asp.net mvc中使用ViewData_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 是否有正当理由在asp.net mvc中使用ViewData

Asp.net mvc 是否有正当理由在asp.net mvc中使用ViewData,asp.net-mvc,Asp.net Mvc,有了模型绑定,您可以构建一个对象来发送并绑定到视图,有没有任何理由使用ViewData?我无法看到一个我将使用它的实例,除非我从数据库中获取了页面/母版的静态信息,然后这些信息显示在例如之类的文件中 如果该页面是只读页面,表示返回了项目列表,并且我还希望显示来自DB的文本,那么我可能会使用ViewData 但这是一种例外。如果我从数据库返回一个项目列表以及一些其他内容,那么我将创建一个表单视图模型,并简单地将任何其他数据包含在其中 我想我的答案很少出现在这里。我看不到一个我会使用它的实例,除非我

有了模型绑定,您可以构建一个对象来发送并绑定到视图,有没有任何理由使用ViewData?

我无法看到一个我将使用它的实例,除非我从数据库中获取了页面/母版的静态信息,然后这些信息显示在例如
之类的文件中

如果该页面是只读页面,表示返回了项目列表,并且我还希望显示来自DB的文本,那么我可能会使用ViewData

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


我想我的答案很少出现在这里。

我看不到一个我会使用它的实例,除非我从一个页面/母版的数据库中得到静态信息,然后显示在一个
或类似的数据库中

如果该页面是只读页面,表示返回了项目列表,并且我还希望显示来自DB的文本,那么我可能会使用ViewData

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


所以我很少在这里猜测我的答案。

我对MVC很陌生,但我所做的很少,我已经为所有视图编写了自定义对象


我能想到的唯一原因是节省时间。您需要快速启动一些东西,可能一个页面上有多个数据对象和一些额外的东西,您不想花时间编写一个对象,将它们放在一起。这是一个很好的理由吗?在我看来,不。

我对MVC很陌生,但我所做的很少,我已经为所有视图编写了自定义对象


我能想到的唯一原因是节省时间。您需要快速启动一些东西,可能一个页面上有多个数据对象和一些额外的东西,您不想花时间编写一个对象,将它们放在一起。这是一个很好的理由吗?在我看来,不。

ViewData似乎是一种简单、方便的方法,您真的应该以更简洁的语法方式来完成某些事情。我想MVC相当于ArrayList——工作得很好,但是你很难找到一个真正合法的借口在好的代码中使用它


使用它我可以想到的一个例外是在所有页面中包含一些动态的内容,这些内容被附加到ActionFilter或基本控制器类中,例如“WebsiteTitle”。与其试图篡改控制器操作返回的数据,不如在ViewData集合中包含类似的内容—可能会加上一些唯一标识符作为前缀,以使其明显地包含在控制器操作之外<例如,code>ViewData[“Base\u WebSiteName”]

ViewData似乎是一种简单、方便的方法,您确实应该以更简洁的语法方式来完成某些事情。我想MVC相当于ArrayList——工作得很好,但是你很难找到一个真正合法的借口在好的代码中使用它


使用它我可以想到的一个例外是在所有页面中包含一些动态的内容,这些内容被附加到ActionFilter或基本控制器类中,例如“WebsiteTitle”。与其试图篡改控制器操作返回的数据,不如在ViewData集合中包含类似的内容—可能会加上一些唯一标识符作为前缀,以使其明显地包含在控制器操作之外<代码>查看数据[“基本网站名”]
,例如。

是的,这确实是一个不充分的理由。如果它值得写,即使是作为一个演示,它也值得做对。无论如何,演示几乎总是以产品的形式结束。:)是的,一个不充分的理由。如果它值得写,即使是作为一个演示,它也值得做对。无论如何,演示几乎总是以产品的形式结束。:)