输入的可选数据属性 [Html]
Optional Data Attributes on Input [Html]
有没有办法在 input/select 上添加可选数据属性,即 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 但那是代码重复。
我创建了对象的扩展以将这些属性添加到 htmlAttributes
对象。的扩展接受 Item
的列表,这是一个自定义 class,具有 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;
}
有没有办法在 input/select 上添加可选数据属性,即 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 但那是代码重复。
我创建了对象的扩展以将这些属性添加到 htmlAttributes
对象。的扩展接受 Item
的列表,这是一个自定义 class,具有 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;
}