RAZORLACKDownlistFor:向SelectList选项添加额外属性tag

问题描述 投票:0回答:2

Model.networks包含另一个称为countryId的属性。我想在每个选项标签上添加一个属性,因此看起来像:

<option value="[NetworkId]" data-countryId="[CountryId]">Canada</option>

我应该这样做哪种方式?

	

您可以创建一个形式的助手类来创建自定义下拉列表,并创建一个具有额外属性的“ selectListItem”类,该类具有IDictionary类型的itemshtmlattributes' - 请参见下文。您可能需要使用“ ID”或“名称”属性来访问默认模型绑定。以下有点混乱,我建议使用tagbuilder构建“选择”和“选项”标签:

asp.net-mvc razor html-select
2个回答
6
投票

视图:

@{
    var item = new SelectListItemCustom { Selected = true, Value = "123", Text = "Australia", itemsHtmlAttributes = new Dictionary<string, object> { { "countrycode", "au" } } };
    var items = new List<SelectListItemCustom> { item };

    Html.Raw(Html.DropDownListForCustom("insertIdHere", items))
}

我创建了一个关于此的博客。
创建具有自定义选项属性的自定义MVC下拉列表并保留验证。
https://jfvaleroso.medium.com/create-a-custom-mvc-dropdownlist-with-custom-option-aption-attributes-anttributes-and-tributes-the-the-the-validation-4DA8EE6E12555

0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.