两列下拉列表,其中一列隐藏

本文关键字:隐藏 一列 下拉列表 两列 | 更新日期: 2023-09-27 18:14:59

我希望这是一个快速的问题。对不起,仍然是ASP/c# n00b,我似乎找不到一个例子。

我想做的是在ASP页面上有一个下拉列表。我希望列表显示2个值;受益类型和优先级。但是,下拉列表用作要显示的数据的过滤器,因此表中的字段名称是BENTYP和PRIO。因此,用户看到的是"Benefit Type",但后台代码能够读取"BENTYP"。它有点像一个两列的组合框,其中一列是隐藏的。

有意义吗?我知道这在Access中是小菜一碟,我无法想象在ASP中会有多难,但我只是还没有经验。另外,如果你愿意的话,你能告诉我隐藏代码是如何读取"隐藏"栏中的文本的吗?

编辑:只是为了清楚,下拉列表看起来像这样:

列1(可见)列2(不可见)

效益类型---- BENTYP

优先级----------- PRIO

两列下拉列表,其中一列隐藏

           <asp:DropDownList id="List"
                AutoPostBack="True"
                OnSelectedIndexChanged="Selection_Change"
                runat="server">
              <asp:ListItem Value="BENTYP"> Benefit Type </asp:ListItem>
              <asp:ListItem Value="PRIO"> Priority </asp:ListItem>
           </asp:DropDownList>

从后面的代码你只需要访问你想要的东西:

       string item1 = List.DataTextField.ToString();
       string item2 = List.DataValueField.ToString(); 

希望有帮助。

创建于MSDN

你所问的正是下拉菜单的功能,它有一个"Value"和一个"Text"为它所包含的每个项目,只是设置值作为你的第二列和你的文本作为第一。

从后面的代码中,你可以像这样添加它:
ListItem item = new ListItem("text (first column)", "value (second column)");
item.Selected = true; // whatever you want here
yourDropdownList.Items.Add(item);

要在后面的代码(ListItem对象)中获得选中的项,使用:

var item = yourDropdownList.SelectedItem;
var text = item.Text;
var val = item.Value;