如何将标题属性添加到ASP.NET DropDownList的每个选项
我正在处理较旧的ASP.NET项目(而不是MVC,我不认为),并且他们需要的功能之一是查看说明当它们悬停在下拉列表中的项目上时。这可以用下面的代码,并利用标题文本的HTML简单地做:如何将标题属性添加到ASP.NET DropDownList的每个选项
<select> <option value="1" title="Option 1 Desc">Option 1</option>
<option value="2" title="Option 2 Desc">Option 2</option>
<option value="3" title="Option 3 Desc">Option 3</option>
</select>
好了,所以我怎么做到这一点使用ASP.NET DropDownList控件?我有以下代码:
<asp:DropDownList ID="DropDownListLocation" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownListLocation_OnSelectedIndexChanged" CssClass="editorFieldServerControl" ClientIDMode="Static"></asp:DropDownList>
而且在页面的“后台代码”:
private void PopulateFacilityDropdown(List<FacilityAvailableByLocation> facilities, int? selectedID) {
DropDownListFacility.DataSource = facilities;
DropDownListFacility.DataTextField = "FacilityName";
DropDownListFacility.DataValueField = "FacilityID";
DropDownListFacility.DataBind();
DropDownListFacility.Items.Insert(0, new System.Web.UI.WebControls.ListItem("", ""));
if (selectedID.HasValue && selectedID.Value > 0)
DropDownListFacility.SelectedIndex = facilities.FindIndex(b => b.FacilityID == selectedID.Value);
else DropDownListFacility.SelectedIndex = 0;
}
}
基本上在设备列表中的每个设备必须有一个ID,名称属性,说明我可以出去。我只是希望能够在每个<option>
上放置一个标题属性,并将其放入描述中。无论是或者能够添加一个像'data-description'这样的自定义属性到每个<option>
标签,那么我可以使用一些简单的jQuery将标题添加到每个选项标签中。
我错过了可以循环浏览列表并输出自定义下拉代码的日子。
任何想法?非常感谢
回答:
您可以像这样手动为每个列表项添加一个标题属性。给它一个镜头:
private void PopulateFacilityDropdown(List<FacilityAvailableByLocation> facilities, int? selectedID) {
DropDownListFacility.DataSource = facilities;
DropDownListFacility.DataTextField = "FacilityName";
DropDownListFacility.DataValueField = "FacilityID";
DropDownListFacility.DataBind();
DropDownListFacility.Items.Insert(0, new System.Web.UI.WebControls.ListItem(String.Empty, String.Empty);
foreach (FacilityAvailableByLocation f in facilities)
{
DropDownListFacility.Items.FindByValue(f.FacilityID).Attributes.Add("title", f.TitleDescription);
}
if (selectedID.HasValue && selectedID.Value > 0)
DropDownListFacility.SelectedIndex = facilities.FindIndex(b => b.FacilityID == selectedID.Value);
else DropDownListFacility.SelectedIndex = 0;
}
}
f.TitleDescription将是你想要的标题属性。
以上是 如何将标题属性添加到ASP.NET DropDownList的每个选项 的全部内容, 来源链接: utcz.com/qa/258798.html