ASP.NET MVC3 Clear Form

时间:2012-09-20 08:43:09

标签: jquery asp.net ajax asp.net-mvc

我是asp.net mvc的新手,我找不到最好的方法:

我有一个带有下拉列表的表单。在控制器中,在填充表单时,我设置:
 ViewBag.DDLCONTENT = ....(并从数据库中获取);

如果我使用ajax在控制器中重新填充表单,ViewBag.DDLCONTENT将变为空。那么我应该在不必再次调用数据库的情况下这样做吗?

如果我的问题不够明确,我可以发布完整的代码 谢谢

2 个答案:

答案 0 :(得分:1)

  

所以我应该在不必再次调用数据库的情况下这样做吗?

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

答案 1 :(得分:0)

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

<div id="ddlClone">@Html.DropDownFor()</div>
<script type="text/javascript">
 var cloneForLater = $("#ddlClone").clone(true);
</script>
达林确实对新数据提出了一个很好的观点。如果数据可能已过时,则应再次调用数据库。