Необязательные атрибуты данных на входе [Html] - PullRequest
0 голосов
/ 04 октября 2018

Есть ли способ иметь необязательный атрибут данных, например, 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, но это дублирует код.

1 Ответ

0 голосов
/ 10 октября 2018

Я создал расширение объекта для добавления этих свойств к объекту 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;
}
...