Я пытаюсь создать обходной путь в моем контроллере, который обрабатывает ошибку в ASP.NET MVC v1. Ошибка возникает, если вы публикуете список, в котором ничего не выбрано (http://forums.asp.net/p/1384796/2940954.aspx).
Быстрое объяснение:
У меня есть отчет, который принимает две даты из текстовых полей и один или несколько выборов из ListBox. Все работает, кроме проверки, если в списке ничего не выбрано.
Когда форма отправляет сообщение и достигает моего контроллера, модель содержит все необходимые элементы. Однако 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>());
}
К сожалению, при попытке добавить ключ выдается следующее исключение:
System.NotSupportedException: не разрешается изменять коллекцию ключей из словаря.
Есть идеи?
Заранее спасибо!