Шаблон MVC3 createoredit теперь взрывается в обнуляемом поле int - PullRequest
2 голосов
/ 29 ноября 2011

После внесения некоторых изменений в мой проект, внезапно мой сгенерированный файл "_createoredit.cshtml" взрывается с этим:

Элемент модели, переданный в словарь, является нулевым, но этот словарь требуется ненулевой элемент модели типа 'System.Int32'. Описание: Произошло необработанное исключение во время выполнения текущего веб-запрос. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации о ошибка и где она возникла в коде.

Сведения об исключении: System.InvalidOperationException: элемент модели передано в словарь является нулевым, но этот словарь требует ненулевой элемент модели типа 'System.Int32'.

Ошибка источника:

Line 273:</div> 
Line 274:<div class="editor-field"> 
Line 275:@Html.EditorFor(model => model.NumOfStores)
Line 276:@Html.ValidationMessageFor(model => model.NumOfStores)
Line 277:</div>

Поле, на которое оно ссылается, имеет тип null типа int. Это просто работало раньше (рабочая версия все еще работает нормально), и изменения, которые я внес в проект, не должны были затрагивать все, что он использует, так что теперь я не могу понять, какого черта это происходит.

обновление 1 - добавление поля def из модели

[DisplayName("Number of Stores (if applicable)")]
public Nullable<int> NumOfStores { get; set; }

Также я убедился, что все типы значений, допускающие значение NULL, имеют такую ​​же проблему.

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Попробуйте указать имя для вашего шаблона.

@Html.EditorFor(model => model.NumOfStores, "NumStoresTemplate")

Дополнительная информация (из MVC 2, но я думаю, что она применима к вашей ситуации) http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html

0 голосов
/ 01 декабря 2011

Я закончил добавление пользовательских шаблонов редактора для int32 и удвоил, чтобы заставить это работать.Я понял, что к проекту, с которым я работаю, добавлены элементы управления telerik, поэтому подумал, что не уверен, как отлаживать вещи, похоже, они каким-то образом связаны с шаблонами по умолчанию.

...