У меня есть два шаблона редактора: один для десятичного и один для десятичного? (Обнуляемый)
Но когда у меня есть нулевое десятичное число в моей модели, он пытается загрузить нормальный десятичный редактор:
<%: Html.EditorFor(model => model.SomeDecimal )%>
<%: Html.EditorFor(model => model.SomeNullableDecimal )%>
Первый работает отлично и загружает шаблон десятичного редактора. Вторая также пытается загрузить десятичный шаблон (и терпит неудачу, потому что это не десятичное поле).
Сообщение об ошибке:
The model item passed into the dictionary is null, but this dictionary requires
a non-null model item of type 'System.Decimal'.
Мои шаблоны объявляются следующим образом:
Десятичный шаблон:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<System.Decimal>" %>
Nullable Decimal template:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<System.Decimal?>" %>
Я знаю, что могу заставить его работать, передав имя шаблона, например
Но я бы предпочел, чтобы он просто работал автоматически, используя тип так же, как и все другие шаблоны.
<%: Html.EditorFor(model => model.SomeNullableDecimal,
"NullableDecimalTemplate" )%>