2012-09-20 103 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只將選定的值發送到服務器。或者如果你想避免調用它,你可以將這些值存儲在緩存中。但是如果數據庫中的數據在兩者之間發生變化,那麼您可能想調用它來檢索新數據。