2013-01-18 71 views
0

我有一个列表框在UI中呈现字符串值的列表。隐藏字符串的一部分

这些字符串值都类似 -

value|1 
value|2 
value|3 

//etc 

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

我在下一页'|'上使用了拆分功能,以便在其他方法通过时获取字符串和ID。

是否有反正我可以在UI中隐藏ID值但是它仍然存在于listBox中,因此它在查询字符串中可用?

列表框中填入这样的 -

foreach (string x in values) 
{ 

    ListBox3.Items.Add(x); // I want to hide the '|1' value in the listBox 

} 

编辑 我想隐藏的价值的ID但是有它在作为分割功能下一页发生的查询字符串可用。在原来的页面上,有像这样的按钮 -

保护无效Button6_Click(对象发件人,EventArgs的){

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

     } 
    } 

哪里ListBox3.SelectedItemvalue|1那么我这个分裂的下一个页面上。所以我需要这个完整的sting来传递查询字符串,但只想要在列表框中显示value部分。

+0

请参阅编辑,完整字符串必须可用于传递到下一页,因此无法使用此处的分割函数,因为selected.item需要该ID。我只想在用户界面中隐藏ID,但它仍然可以通过。 – Ebikeneser

回答

4

添加一个新的项目,设置文本和手前值:

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

我明白你的意思了,但我第一次不清楚,我需要将selected.item字符串传递到下一页,但是需要将它隐藏在列表框中,我需要尝试并获取split [1]部分(ID),并将它们添加到ID列perhpas中? – Ebikeneser

+0

@Jambo - 这是一个选项。你可以把你想要的东西放入“价值”中。 – Oded

0

将一个值的值属性和文字显示在文本属性:

foreach (string x in values) 
{ 

    ListBox3.Items.Add(new ListItem(x.Split('|')[0], x)); 
} 

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

2

我想将ID添加到列表框的“Value”属性中,并设置ac显示“Text”属性的值。

+0

我想这可能是正确的答案,我会尝试一下。 – Ebikeneser

1

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

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