C# web窗体动态下拉列表工具提示
我有一个级联下拉列表,一个用于主题,另一个用于章节。我希望能够使用工具提示来显示每个主题和部分的描述。但是,我首先必须选择一个特定的主题和/或一个部分,以显示工具提示,并且显示的唯一描述是下拉列表底部的描述,无论其是否选中。知道我做错了什么吗 下面是我如何加载主题下拉列表。正在Page_Load方法上调用Load_Topic1()C# web窗体动态下拉列表工具提示,c#,asp.net,drop-down-menu,webforms,C#,Asp.net,Drop Down Menu,Webforms,我有一个级联下拉列表,一个用于主题,另一个用于章节。我希望能够使用工具提示来显示每个主题和部分的描述。但是,我首先必须选择一个特定的主题和/或一个部分,以显示工具提示,并且显示的唯一描述是下拉列表底部的描述,无论其是否选中。知道我做错了什么吗 下面是我如何加载主题下拉列表。正在Page_Load方法上调用Load_Topic1() protected void Load_Topic1() { var topics = ReadTopics(); fore
protected void Load_Topic1()
{
var topics = ReadTopics();
foreach (var topic in topics)
{
var topicListItem = new ListItem(topic.Name, topic.Id.ToString());
topic1.Items.Add(topicListItem);
topic1.Attributes.Add("Title",topic.Description);
}
topic1.Items.Insert(0, new ListItem("--- Select Topic ---", "0"));
}
以下是我的级联下拉列表:
<asp:UpdatePanel ID="updatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="topic1" DataTextField="NAME" DataValueField="ID" OnSelectedIndexChanged="Load_Section1" AutoPostBack="True" AppendDataBoundItems="true" runat="server"/>
<asp:DropDownList ID="section1" DataTextField="NAME" DataValueFile="ID" runat="server">
<asp:ListItem Text="--- Select Section ---" Value="0"></asp:ListItem>
</asp:DropDownList><br/>
<asp:RequiredFieldValidator runat="server" ID="topic1ReqVal" InitialValue="0" ControlToValidate="topic1" errormessage="Please select a topic"/>
<asp:RequiredFieldValidator runat="server" ID="section1ReqVal" InitialValue="0" ControlToValidate="section1" errormessage="Please select a section"/><br/>
</ContentTemplate>
</asp:UpdatePanel>
只为下拉列表添加属性,而不是为下拉列表中的每个元素添加属性 您需要做的是:
foreach (var topic in topics)
{
var topicListItem = new ListItem(topic.Name, topic.Id.ToString());
topicListItem.Attributes.Add("Title",topic.Description);
topic1.Items.Add(topicListItem);
}
当然,第节也是一样。这将为选项和标题中的每个select元素提供支持
干杯
foreach (var topic in topics)
{
var topicListItem = new ListItem(topic.Name, topic.Id.ToString());
topicListItem.Attributes.Add("Title",topic.Description);
topic1.Items.Add(topicListItem);
}