ASP.NET MVC 2 - HTML. EditorFor nullable тип?

У меня есть два шаблона редактора: один для десятичного числа, и один для десятичного числа? (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" )%>
12
задан JK. 13 March 2014 в 22:22
поделиться