MVC2 выпадающий вопрос проверки - PullRequest
0 голосов
/ 15 ноября 2010

Раньше я получал это сообщение при попытке создать раскрывающиеся элементы управления с обязательной проверкой полей:

Элемент ViewData, имеющий ключ 'SelectedNCRType', имеет тип 'System.Int32', но должен иметь тип'IEnumerable'.

Каким-то образом мне удалось заставить все работать на моей локальной машине, и все выглядело хорошо.Однако, когда я опубликовал проект и скопировал файлы на тестовый сервер, это сообщение снова появляется всякий раз, когда не удается выполнить проверку раскрывающихся элементов управления.Вот некоторые фрагменты кода:

View Model:
[DisplayName("NCR Type:")]
public IEnumerable<SelectListItem> NCRTypeSelectList
{
   get;
   set;
}

[Range(1, Int32.MaxValue, ErrorMessage = "Required Field")]
public int SelectedNCRType { get; set; }

Controller:
var types = (from x in context.NCRTypes
             where x.Deleted == false
             select new models.NCRType
             {
                 Deleted = x.Deleted,
                 Id = x.Id,
                 Name = x.Name
             }).ToList();
model.NCRTypeSelectList = types.ToSelectList("Id", "Name");

View:
<%= Html.DropDownListFor(x => x.SelectedNCRType, Model.NCRTypeSelectList, "Select...", new { @class = "form_dropdown_300" })%>
<%= Html.ValidationMessageFor(model => model.SelectedNCRType, "Required Field")%>

Helper Extension Method:
public static SelectList ToSelectList<T>(this IEnumerable<T> collection,
                         string dataValueField, string dataTextField)
    {
        return new SelectList(collection, dataValueField, dataTextField);
    }

Если у вас есть идеи, пожалуйста, помогите ... это сводит меня с ума.

1 Ответ

0 голосов
/ 15 ноября 2010

Я получил эту работу, заполнив раскрывающиеся элементы управления в методе post-action до строки:

return View (модель);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...