我想知道是否有一种方法可以在MVC 3中的选择列表上维护您的选项列表。我对MVC很新,但在WebForms中,您可以在第一次加载页面时填充DropDownList,然后填充ViewState将维护所有AutoPostBacks的列表。这很好,因为通常,DropDownLists由对数据库的查询填充。我知道在MVC中不存在ViewState,但有没有更好的方法来重新填充SelectList,而不必在每个帖子的请求期间点击数据库?
答案 0 :(得分:1)
这里有几个选项。 您选择的值将被回发。考虑到这一点,因为你不再拥有ViewState,你理想地想要
还要记住,在发布数据后,如果一切都“良好”,您希望重定向回“GET”操作以重新加载数据并显示给客户端。这是Web表单中的一个问题,有时用户在回发后看到了XYZ,但在刷新后看到了YXX。在MVC post-redirects中使用PRG模式可以加载新数据。
发布后,如果出现验证错误,通常只会重新显示数据,否则会重定向到get方法。
答案 1 :(得分:0)
您的控制器会在回发时收到该值。您必须将该值放回模型中,以告知视图所选值是什么。