输入[Html]上的可选数据属性

时间:2018-10-04 14:24:26

标签: c# html attributes html-helper custom-data-attribute

是否有一种在输入/选择上具有可选数据属性(即data_val_requiredrequired的方法?

@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 :(得分:0)

我创建了一个对象扩展,以将这些属性添加到htmlAttributes对象中。扩展名接受Item的列表,该列表是具有NameKey属性的自定义类。然后,我使用它添加某些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;
}