我想創造我的控制器解決方法用來處理在ASP.NET MVC V1的錯誤。如果您發佈:在沒有選擇的(http://forums.asp.net/p/1384796/2940954.aspx)列表框時發生錯誤。如果關鍵不在的ModelState存在,我怎麼能增加嗎? aspnetmvc1
快速的解釋: 我有接受來自文本框,兩個日期,並從列表框中的一個或多個選擇的報告。一切工作除了驗證,如果列表框沒有被選中。
當表單發送和到達我的控制器,該模型包含了所需的所有物品。但是,ModelState不包含列表框的鍵/值。要解決,我希望這樣的事情會做的伎倆:
if (!ModelState.ContainsKey("TurnTimeReportModel.Criteria.SelectedQueuesList") || ModelState["TurnTimeReportModel.Criteria.SelectedQueuesList"] == null) {
ModelState.Keys.Add("TurnTimeReportModel.Criteria.SelectedQueuesList");
ModelState["TurnTimeReportModel.Criteria.SelectedQueuesList"].Equals(new List<string>());
}
Unfortuantely,這將引發以下異常,當我嘗試添加鍵值: System.NotSupportedException:變異從字典派生的鍵集合不允許。
任何想法?
在此先感謝!
謝謝你的回覆!我會試試看,看看它的表現如何。 – BueKoW 2010-01-28 20:39:20
感謝您的好評!這也幫助了我。在單元測試中面對一個模擬控制器的這個問題,並且這樣做了! – Rob 2010-08-23 08:40:07