2012-09-20 57 views
2

我是新来的asp.net mvc,我找不到最好的方法来做到这一点:ASP.NET MVC3清除表格

我有一个下拉列表的形式。在控制器中,在填写表单时,我设置了:
ViewBag.DDLCONTENT = ....(并将其从数据库中取出);

如果我用ajax重新填充控制器中的表格,ViewBag.DDLCONTENT将变空。那么我应该不必再次调用数据库呢?

我可以张贴的完整代码,如果我的问题不够清晰
谢谢

+0

如果您可以发布您迄今为止所做的样本,肯定会更容易帮助您。 –

+0

如果你调用服务器ViewBag是重新设置的值。每次在ViewBag中设置值。 – Sender

+0

如果值列表的数量不是很大,则可以使用会话对象来存储该列表并使用它在Ajax操作中再次重新填充DDLContent – Typist

回答

0

将下拉在一个div,然后只克隆DIV你重新填充表单之前。无论哪种方式,因为这是通过AJAX客户端完成的,所以您的解决方案需要来自客户端代码,例如javascript或jquery。

<div id="ddlClone">@Html.DropDownFor()</div> 
<script type="text/javascript"> 
var cloneForLater = $("#ddlClone").clone(true); 
</script> 

达林对新鲜数据做了一个很好的说明。如果数据可能已经过时,那么应该再次调用数据库。

1

所以我应该这样做,而不必再次调用数据库?

再次调用数据库。 DropDownList只将选定的值发送到服务器。或者如果你想避免调用它,你可以将这些值存储在缓存中。但是如果数据库中的数据在两者之间发生变化,那么您可能想调用它来检索新数据。