我是新來的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