繁体   English   中英

根据从数据源中选择的下拉列表设置标签文本

[英]Set label text based on dropdown list selection from datasource

我一直无法找到一个似乎简单的共同目标的解决方案-我想从下拉列表中选择一个项目编号,并设置一个相邻的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>...

将ItemName设置为ListItem中的ThirdValue属性

<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"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM