【问题标题】:Hide part of string隐藏部分字符串
【发布时间】:2013-01-02 06:39:49
【问题描述】:

我有一个在 UI 中显示字符串值列表的 listBox。

这些字符串值显示为 -

value|1
value|2
value|3

//etc

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

我在下一页'|'使用了split函数来获取字符串和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.SelectedItemvalue|1,然后在下一页我将其拆分。所以我需要这个完整的字符串来传递查询字符串,但只希望value 部分在列表框中可见。

【问题讨论】:

  • 查看编辑,完整的字符串必须可以传递到下一页,因此不能在此处使用拆分功能,因为 selected.item 需要 ID。我只想在 UI 中隐藏 ID,它仍然可以通过。

标签: c# asp.net string listbox


【解决方案1】:

添加一个新项目,预先设置文本和值:

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

【讨论】:

  • 我明白你的意思但我第一次没有说清楚,我需要将 selected.item 字符串传递到下一页,但是需要将它隐藏在列表框中,我需要尝试并获取 split[1] 部分(ID)并将它们添加到 ID 列中 perhpas?
  • @Jambo - 这是一个选项。你可以把你想要的东西放入“价值”中。
【解决方案2】:

我会将 ID 添加到列表框的“值”属性中,并将实际显示值设置为“文本”属性。

【讨论】:

    【解决方案3】:

    使用Dictionary 代替字符串列表怎么样?!

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

    【讨论】:

      【解决方案4】:

      将值放入 value 属性和文本以显示在 text 属性中:

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

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

      【讨论】:

        猜你喜欢
        • 2016-10-23
        • 2015-11-17
        • 2014-02-24
        • 2013-01-18
        • 1970-01-01
        • 2022-01-17
        • 1970-01-01
        • 1970-01-01
        • 2015-11-05
        相关资源
        最近更新 更多