1

asp.netWebフォームにlistBoxがあります。OnLoadリストボックスにアイテムを追加し、OnSelectedIndexChangedイベントハンドラーを追加します。

public void OnSelectedIndexChanged(object sender, EventArgs eventArgs)
{
    StreamWriter sw = new StreamWriter(@"C:\Users\me\Desktop\log.txt");

    sw.WriteLine(listBox.SelectedValue);

    sw.Flush();
    sw.Close();
}

ストリームライターは、出力を確認できるようにするためのものです...

リストボックスでAutoPostBackをtrueに設定していますが、新しいアイテムを選択するたびにページが再読み込みされますが、クリックしたアイテムではなく、常にリストの最初のアイテムが印刷されます。誰かが私が間違っていることを知っていますか?

ありがとう

4

1 に答える 1

1

OnLoad は、ページが読み込まれるたびに実行されます。最初にページをロードしたときPage.IsPostBackにのみリストにアイテムを追加していることを確認してください。すなわち

if (!Page.IsPostBack) { FillMyListbox(); }
于 2011-07-01T02:44:24.483 に答える