我是新来的asp.net mvc,我找不到最好的方法来做到这一点:ASP.NET MVC3清除表格
我有一个下拉列表的形式。在控制器中,在填写表单时,我设置了:
ViewBag.DDLCONTENT = ....
(并将其从数据库中取出);
如果我用ajax重新填充控制器中的表格,ViewBag.DDLCONTENT
将变空。那么我应该不必再次调用数据库呢?
我可以张贴的完整代码,如果我的问题不够清晰
谢谢
我是新来的asp.net mvc,我找不到最好的方法来做到这一点:ASP.NET MVC3清除表格
我有一个下拉列表的形式。在控制器中,在填写表单时,我设置了:
ViewBag.DDLCONTENT = ....
(并将其从数据库中取出);
如果我用ajax重新填充控制器中的表格,ViewBag.DDLCONTENT
将变空。那么我应该不必再次调用数据库呢?
我可以张贴的完整代码,如果我的问题不够清晰
谢谢
将下拉在一个div,然后只克隆DIV你重新填充表单之前。无论哪种方式,因为这是通过AJAX客户端完成的,所以您的解决方案需要来自客户端代码,例如javascript或jquery。
<div id="ddlClone">@Html.DropDownFor()</div>
<script type="text/javascript">
var cloneForLater = $("#ddlClone").clone(true);
</script>
达林对新鲜数据做了一个很好的说明。如果数据可能已经过时,那么应该再次调用数据库。
所以我应该这样做,而不必再次调用数据库?
再次调用数据库。 DropDownList只将选定的值发送到服务器。或者如果你想避免调用它,你可以将这些值存储在缓存中。但是如果数据库中的数据在两者之间发生变化,那么您可能想调用它来检索新数据。
如果您可以发布您迄今为止所做的样本,肯定会更容易帮助您。 –
如果你调用服务器ViewBag是重新设置的值。每次在ViewBag中设置值。 – Sender
如果值列表的数量不是很大,则可以使用会话对象来存储该列表并使用它在Ajax操作中再次重新填充DDLContent – Typist