Задать текст метки на основе выбора раскрывающегося списка из источника данных
Я не смог найти решение, которое казалось бы простой общей целью - я хочу выбрать номер элемента из выпадающего списка и установить смежный label1.text для отображения имени соответствующего элемента. Номер элемента и имя элемента возвращаются из запроса источника данных объекта и набора данных, который заполняет раскрывающийся список. Значения раскрывающегося списка DataTextField и DataValuefield устанавливаются на номер элемента, поскольку номер элемента - это то, что отображается, и то, что используется для предоставления параметра в вызов хранимой процедуры для заполнения данных в форме.
Во всех примерах, которые я смог найти, использовался второй запрос к базе данных с выпадающим номером выбранного элемента в качестве параметра запроса, чтобы получить имя связанного элемента и заполнить label1.text, или установить label1.text для выбранного выпадающего списка. значение (в этом случае номер элемента, а не имя элемента). Я надеюсь, что смогу выполнить это без второго запроса к базе данных, поскольку значение имени элемента уже находится в таблице набора данных, которая используется для заполнения номеров элементов раскрывающегося списка.
Я ожидаю, что каким-то образом мне понадобится получить выпадающий выбранный элемент и использовать его, чтобы извлечь значение связанного имени из набора данных. Но как?
Извлечение кода следующее:
...<asp:DropDownList ID="itemno" runat="server" DataSourceID="ObjectDatasource4" DataTextField="itemno" DataValueField="itemno" AppendDataBoundItems="true" OnSelectedIndexChanged="itemno_selectedchanged" Width="65" TabIndex="4">
<asp:ListItem Value="ALL" Selected="True">ALL</asp:ListItem>
</asp:DropDownList><asp:Label ID="Label1" runat="server" />...
and ...<asp:ObjectDataSource ID="ObjectDataSource4" runat="server" SelectMethod="GetData" TypeName="DepositLookup.App_Code.Dataset1TableAdapters._itemnoTableAdapter">
<SelectParameters>
<asp:SessionParameter SessionField="accesslevel" DefaultValue="" Name="usraccess" Type="String" />
</SelectParameters>...
1 ответ
Устанавливает ItemName в свойство ThirdValue в ListItem
<asp:DropDownList ID="ddlDropDown" runat="server">
<asp:ListItem Text="ItemID" Value="ItemID" ThirdValue="ItemName" />
</asp:DropDownList>
Получает значение ItemName
ListItem item = ddlDropDown.Items.FindByValue("ItemID");
string itemName = item.Attributes["ThirdValue"];