У меня есть два шаблона редактора: один для десятичного числа, и один для десятичного числа? (nullable)
Но когда у меня есть nullable десятичное число в моей модели, это пытается загрузить нормального десятичного редактора:
<%: 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:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<System.Decimal?>" %>
Я знаю, что могу заставить его работать путем передачи на шаблонное имя, например,
Но я действительно предпочел бы, чтобы это просто работало автоматически при помощи типа точно так же, как все другие шаблоны.
<%: Html.EditorFor(model => model.SomeNullableDecimal,
"NullableDecimalTemplate" )%>