1
我已經閱讀了有關ASP.NET MVC中使用的模態狀態的各種文章。我已閱讀Scott Gu的這篇文章link text。每當選擇列表需要顯示錯誤時,我的控制器中都有一些代碼正在觸及數據庫。有沒有辦法讓模態保存列表內容?或者也許緩存列表?帶有SelectLists的ASP.NET MVC的模態狀態?
// controller code
// re display the error do to a business rule violation
_ratesViewData.FSCCOde = getFscCode(_rateService.GetFscCode());
// controller code
private SelectList getFscCode(IEnumerable items, object selectedValue)
{
return new SelectList(items, "FscID", "FscCode", selectedValue);
}
// ASP.NET MVC control code
// ASP.NET MVC control code
// ASP.NET MVC control code
Fuel Surcharge Code
<%=Html.DropDownList("FscCode", "No Fuel Surcharge")%
我目前正在重構我們的凌亂控制器。我將模態狀態添加到我們的操作中。我試圖看看模態狀態是否會保存我們的物品清單?或者每次我需要列表時,都必須打開數據庫?使用Html.Textboxes(),它們會將模式狀態下的無效值保留下來。我沒有看到列表正在被保存,我只能看到模式綁定器中的選定ID – user154366 2010-01-27 19:27:17
'ModelState'不是緩存。正如你注意到的,它用於處理用戶輸入,有效或無效。由於POST不提交'SelectList'(並且不能,真的),它將永遠不會在'ModelState'中。如果您最初從數據庫填充選擇列表,我會建議您在出現錯誤時重新顯示時也這樣做。這可以讓你分享代碼。如果最初的GET足夠快,那麼這也將足夠快。 – 2010-01-27 19:39:34