隐藏一列的2列下拉列表

时间:2013-05-23 19:57:17

标签: c# asp.net winforms

我希望这是一个快速的。对不起,还是一个ASP / C#n00b,我似乎无法找到一个例子。

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

有意义吗?我知道这在Access中很容易,我无法想象它在ASP中太难了但我还没有经验。另外,如果你很善良,你能否告诉我代码隐藏如何阅读“隐藏”栏中的文字?

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

Column1(可见)Column2(不可见)

福利类型---- BENTYP

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

2 个答案:

答案 0 :(得分:1)

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

希望它有所帮助。

Founded in MSDN

答案 1 :(得分:0)

您所问的正是下拉列表的功能,它具有&#34;价值&#34;和&#34;文字&#34;对于它包含的每个项目,只需将值设置为第二列,将文本设置为第一列。

从后面的代码中你可以像这样添加它:

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;