c# - DropDownList,获取C#中返回的DataValueField

标签 c# asp.net .net visual-studio

我有一个下拉列表,它从数据库中提取数据以显示它的一些选项:

    <asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="SqlDataSource1"
        DataTextField="Name" DataValueField="PK_Task" AppendDataBoundItems="true" CssClass="dropDownList">
        <asp:ListItem Selected="True">General Support</asp:ListItem>
        <asp:ListItem>Vacation</asp:ListItem>
        <asp:ListItem>Sick Leave</asp:ListItem>
        <asp:ListItem>Something Else</asp:ListItem>
    </asp:DropDownList>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ApplicationServices %>"
        SelectCommand="SELECT [PK_Task], [Name] FROM [Task] WHERE ([PointPerson] LIKE '%' + @PointPerson + '%') AND [Status] NOT LIKE 'Done'">
        <SelectParameters>
            <asp:QueryStringParameter Name="PointPerson" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>

如您所见,我只显示 [Name] 列:

DataTextField="Name" 

但我也得到了主键 SELECT [PK_Task], [Name] FROM:

DataValueField="PK_Task"

如何根据用户选择访问此主键。如果用户从下拉菜单中选择特定的“名称”,我可以使用什么 C# 来获取返回给我的相应主键,以便我可以将其保存在变量中?

我得到的最接近的是这个,但它所做的只是返回字符串“PK_Task”:

String taskID = DropDownList3.DataValueField;

最佳答案

您可以使用 SelectedValue 属性:

// to set
DropDownList3.SelectedValue = "1";

// to read
string value = DropDownList3.SelectedValue;

关于c# - DropDownList,获取C#中返回的DataValueField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17348678/

相关文章:

c# - 使用 XDocument 和 Linq 读取 XML - 检查元素是否为 NULL?

c# - 窗体右上角有X的按钮,如何捕捉这个事件@C#

c# - 以编程方式访问 Windows 8.1 中最常用的应用程序

我们适配器的 c# 蓝牙 Mac 地址

asp.net - JavaScript 是否允许在点击事件期间调用远程网页?

c# - .Net NMS.ActiveMQ 我应该存储消息发送调用之间的 session 和连接吗

.net - DataGridView 中的列数

javascript - 带有回调函数的 jQuery get() 方法

c# - Httpclient 该实例已启动一个或多个请求。属性只能在发送第一个请求之前修改

c# - 从文件服务器调试神秘消失的文件