【问题标题】:DropDownList, getting DataValueField returned in C#DropDownList,获取 C# 中返回的 DataValueField
【发布时间】:2013-06-27 16:39:53
【问题描述】:

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

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

【问题讨论】:

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


【解决方案1】:

您可以使用SelectedValue 属性:

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

// to read
string value = DropDownList3.SelectedValue;

【讨论】:

    【解决方案2】:

    试试这个

    String taskID = DropDownList3.SelectedItem.Value;
    

    【讨论】:

      【解决方案3】:

      任何你可以使用的方式 要么

      dropdown3.selectedvalue
      

      dropdown3.selecteditem.value
      

      【讨论】:

      • 因为你已经使用了 dropdown.datavaluefield,所以它会返回你绑定的字段的名称。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多