我有一个listBox,它在UI中显示字符串值列表。
这些字符串值显示为 -
value|1
value|2
value|3
//etc
其中整数值是存储在数据库中的字符串ID。
我在下一页'|'
上使用了分割函数,以便在传递其他方法时获取字符串和ID。
无论如何,我可以隐藏UI中的ID
值但是仍然存在于listBox中,因此它在查询字符串中可用吗?
listBox的填充方式如下 -
foreach (string x in values)
{
ListBox3.Items.Add(x); // I want to hide the '|1' value in the listBox
}
修改 我想要隐藏值的ID,但是在查询字符串中有它可用,因为拆分功能发生在下一页上。在原始页面上有一个像这样的按钮 -
protected void Button6_Click(object sender,EventArgs e) {
if (ListBox3.SelectedItem != null)
{
Response.Redirect("About.aspx?term=" + ListBox3.SelectedItem);
}
}
ListBox3.SelectedItem
value|1
的位置,然后在下一页我分裂了。所以我需要这个完整的sting来传递查询字符串,但只希望value
部分在listBox中可见。
答案 0 :(得分:4)
添加新项目,预先设置文本和值:
var split = x.Split('|');
var item = new ListItem(split[0], split[1]);
ListBox3.Items.Add(item);
答案 1 :(得分:2)
我将ID添加到列表框的“Value”属性中,并将实际显示值设置为“Text”属性。
答案 2 :(得分:1)
如何使用Dictionary而不是使用字符串列表?!
您可以简单地将Id保留为字典键,并将值显示给用户。
答案 3 :(得分:0)
将值放入值属性和文本以显示在text属性中:
foreach (string x in values)
{
ListBox3.Items.Add(new ListItem(x.Split('|')[0], x));
}
ListItem的第一个参数是应该显示的文本,第二个是将在回发时传递给您的代码的值