Как я могу изменить это объявление DropDownList, чтобы отключенный атрибут был условно включен/отключен?
<%= Html.DropDownList("Quantity", new SelectList(...), new{@disabled="disabled"} %>
нерабочий пример:
<%= Html.DropDownList("Quantity", new SelectList(...), new{@disabled=Model.CanEdit?"false":"disabled"} %>
p.s. добавление условия if вокруг всего оператора не является желаемым подходом:)
EDIT: на основе этого метода расширения из другого вопроса. Я придумал следующее расширение:
public static IDictionary<string, object> Disabled (this object obj, bool disabled)
{
return disabled ? obj.AddProperty ("disabled", "disabled") : obj.ToDictionary ();
}
который затем можно использовать как
<%= Html.DropDownList("Quantity", new SelectList(...), new{id="quantity"}.Disabled(Model.CanEdit) %>