0

UIに文字列値のリストを表示するlistBoxがあります。

これらの文字列値は次のように表示されます-

value|1
value|2
value|3

//etc

ここで、整数値はデータベースに格納されている文字列IDです。

次のページでsplit関数を使用'|'して、他のメソッドに渡されたときに文字列とIDを取得しました。

とにかくID、UIで値を非表示にすることはできますが、それでもリストボックスに存在するため、クエリ文字列で使用できますか?

listBoxは次のように入力されます-

foreach (string x in values)
{

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

}

編集 値のIDを非表示にしたいのですが、次のページで分割関数が実行されているため、クエリ文字列でIDを使用できるようにします。元のページにはそのようなボタンがあります-

protected void Button6_Click(object sender、EventArgs e){

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

        }
    }

次のページはどこにListBox3.SelectedItemありますか。これを分割しています。value|1したがって、クエリ文字列を渡すにはこの完全な文字列が必要ですがvalue、listBoxに表示される部分のみが必要です。

4

4 に答える 4

4

新しいアイテムを追加し、テキストと値を事前に設定します。

var split = x.Split('|');
var item = new ListItem(split[0], split[1]);
ListBox3.Items.Add(item);
于 2013-01-18T14:23:19.157 に答える
2

リストボックスの「Value」プロパティにIDを追加し、実際の表示値を「Text」プロパティに設定します。

于 2013-01-18T14:24:53.843 に答える
1

文字列のリストを使用する代わりに辞書を使用するのはどうですか?!

IDを辞書キーとして保持し、その値をユーザーに表示するだけです。

于 2013-01-18T14:25:01.040 に答える
0

value プロパティに値を入力し、text プロパティに表示するテキストを入力します。

foreach (string x in values)
{

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

ListItem の最初のパラメーターは表示されるテキストで、2 番目のパラメーターはポストバック時にコードに渡される値です。

于 2013-01-18T14:24:38.063 に答える