隐藏字符串的一部分

本文关键字:一部分 字符串 隐藏 | 更新日期: 2023-09-27 17:54:27

我有一个listBox,它在UI中呈现字符串值列表。

这些字符串值表示为-

value|1
value|2
value|3
//etc

其中整数值为存储在数据库中的字符串ID。

我在下一页'|'上使用了一个拆分函数来获取字符串和ID,当它通过其他方法时。

无论如何,我可以隐藏的ID值在UI中,但仍然有它存在于列表框,所以它是可用的查询字符串?

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(对象发送者,EventArgs e){

        if (ListBox3.SelectedItem != null)
        {
            Response.Redirect("About.aspx?term=" + ListBox3.SelectedItem);
        }
    }

其中ListBox3.SelectedItemvalue|1,然后在下一页我分裂这个。所以我需要这个完整的字符串来传递查询字符串,但只希望value部分在listBox中可见。

隐藏字符串的一部分

添加新项,设置文本和值为前置:

var split = x.Split('|');
var item = new ListItem(split[0], split[1]);
ListBox3.Items.Add(item);

我会将ID添加到列表框的"Value"属性中,并将实际显示值设置为"Text"属性。

如何使用字典而不是使用字符串列表?

您可以简单地将Id保留为字典键并将值显示给用户。

将值放入value属性中,并将文本显示在text属性中:

foreach (string x in values)
{
    ListBox3.Items.Add(new ListItem(x.Split('|')[0], x));
}

其中listtitem的第一个参数是应该显示的文本,第二个参数是将在回发时传递给代码的值