C# 使用OnSelectedIndexChanged事件获取列表框的新selectedValue

C# 使用OnSelectedIndexChanged事件获取列表框的新selectedValue,c#,asp.net,listbox,selectedindexchanged,C#,Asp.net,Listbox,Selectedindexchanged,我有一个asp.net web表单中的列表框。OnLoad我将项目添加到列表框,并添加OnSelectedIndexChanged事件处理程序: public void OnSelectedIndexChanged(object sender, EventArgs eventArgs) { StreamWriter sw = new StreamWriter(@"C:\Users\me\Desktop\log.txt"); sw.WriteLine(listBox.Select

我有一个asp.net web表单中的列表框。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,但每次我选择一个新项目时,它都会重新加载页面,但打印输出总是列表中的第一个项目,而不是我单击的项目。有人知道我做错了什么吗


谢谢

每次加载页面时,OnLoad都会运行。选中
Page.IsPostBack
,确保您仅在首次加载页面时将项目添加到列表中。i、 e

if (!Page.IsPostBack) { FillMyListbox(); }

每次加载页面时都会运行OnLoad。选中
Page.IsPostBack
,确保您仅在首次加载页面时将项目添加到列表中。i、 e

if (!Page.IsPostBack) { FillMyListbox(); }