Есть ли способ иметь необязательный атрибут данных, например data_val_required или required для ввода / выбора?

@Html.DropDownListFor(x => x.PositionId, Model.Positions, new
{
    CurrentInput.Required ? data_val_required = "Please select a position" : noAttribute
})

Мой текущий сценарий заключается в том, что раскрывающиеся списки находятся в цикле for, у которого есть обязательное свойство. Таким образом, некоторые входные данные требуют значения, а другие - нет. Единственный способ, которым я могу это сделать, - это заключить Html.DropDownListFor в оператор if, который проверяет, требуется ли ввод, и выводит правильный html, но это дублирование кода.

0
Bad Dub 4 Окт 2018 в 17:24

1 ответ

Лучший ответ

Я создал расширение объекта, чтобы добавить эти свойства к объекту htmlAttributes. Расширение принимает список Item, который является настраиваемым классом, имеющим свойства Name и Key. Затем я использую это, чтобы добавить свойства, которые мне нужны для определенного Inputs.

public static IDictionary<string, object> AddProperties(this object obj, List<Item> properties)
{
    var dictionary = obj.ToDictionary();
    properties.ForEach(x => dictionary.Add(x.Name, x.Vale));
    return dictionary;
}
0
Bad Dub 10 Окт 2018 в 10:36