1

我有一个 asp.net 网络表单中的列表框。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以确保您仅在首次加载页面时将项目添加到列表中。IE

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