Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 触发SelectedItem事件时,SelectedItem不会更改(ASP.Net下拉列表)_C#_Asp.net_Drop Down Menu - Fatal编程技术网

C# 触发SelectedItem事件时,SelectedItem不会更改(ASP.Net下拉列表)

C# 触发SelectedItem事件时,SelectedItem不会更改(ASP.Net下拉列表),c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我有一个ASP下拉列表,声明如下: <asp:DropDownList ID="DropDown1" runat="server" OnSelectedIndexChanged="DropDown1_SelectedIndexChanged" AutoPostBack="true"> </asp:DropDownList> public void DropDown1_SelectedIndexChanged(object sender, Ev

我有一个ASP下拉列表,声明如下:

<asp:DropDownList ID="DropDown1" 
    runat="server" 
    OnSelectedIndexChanged="DropDown1_SelectedIndexChanged"
    AutoPostBack="true">
</asp:DropDownList>
public void DropDown1_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList temp = (DropDownList)sender;
    Console.WriteLine(temp.SelectedValue);
}
“来源”是一本字典:

Dictionary<int, string> source = new Dictionary<int, string>();

现在让我们假设我的下拉列表中有item1、item2和item3。目前我已经选择了项目1。现在的问题是,如果我在item2中单击,则会触发SelectIndexChanged方法,但SelectedValue始终保持在“item1”。那么,我做错了什么?

您的数据在哪里填写?如果您的数据是在页面加载或其他情况下填充的,那么由于页面生命周期的原因,您将在
page_load
中每次

填充数据源如果(!IsPostBack){//fill your data source here}
public void DropDown1_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList temp = (DropDownList)sender;
    Console.WriteLine(temp.SelectedValue);
}