Я хочу использовать строго типизированные помощники HTML в ASP.NET MVC 2 со свойством моей модели Nullable<T>
.
Модель
public class TicketFilter {
public bool? IsOpen { get; set; }
public TicketType? Type{ get; set; } // TicketType is an enum
// ... etc ...
}
Просмотр (HTML)
<p>Ticket status:
<%: Html.RadioButtonFor(m => m.IsOpen, null) %> All
<%: Html.RadioButtonFor(m => m.IsOpen, true) %> Open
<%: Html.RadioButtonFor(m => m.IsOpen, false) %> Closed
</p>
<p>Ticket type:
<%: Html.RadioButtonFor(m => m.Type, null) %> Any
<%: Html.RadioButtonFor(m => m.Type, TicketType.Question) %> Question
<%: Html.RadioButtonFor(m => m.Type, TicketType.Complaint) %> Complaint
<!-- etc -->
</p>
Однако при использовании помощников таким образом выдается ArgumentNullException
- второй параметр не может быть нулевым. Вместо null
я попытался использовать new bool?()
/ new TicketType?
, а также String.empty
. Все результаты в одном и том же исключении. Как я могу обойти это и привязать элемент управления к нулевому значению?