Asp.NET DropDownList SelectedItem.Value没有改变

Bah*_*mut 14 c# asp.net data-binding selectedvalue drop-down-menu

标记:

            <div style="float:left;margin-top:15px;width:80px">
                <asp:DropDownList ID="MyList" runat="server" Width="100px"></asp:DropDownList>
            </div>
Run Code Online (Sandbox Code Playgroud)

码:

        // clear vehicles list
        MyList.Items.Clear();

        // add 'all' option
        MyList.Items.Add(new ListItem("ALL", "0"));

        // add assets
        foreach (CustomClass item in items)
            MyList.Items.Add(new ListItem(item.Name, item.ID.ToString()));
Run Code Online (Sandbox Code Playgroud)

没有事件触发SelectedIndexChanged,因为没有必要.

当我单击回发按钮时,selecteditem的值仍然是DropDownList中第一个项目的值.我错过了什么?

注意 请停止回复和编辑帖子.我们可以保留它,因为它已经被回答了.

Len*_*rri 43

如果您正在进行数据绑定Page_Load,那么您基本上也会重置SelectedItem.

你应该用那只存在于任何绑定代码Page_Load内部if(!IsPostBack)块.

if(!Page.IsPostBack)
{

    // Your binding code here ...

}
Run Code Online (Sandbox Code Playgroud)


Mel*_*igy 5

您的代码也可能在回发后执行,清除该框,因此失去选择和所有内容。

如果是这样,请尝试将代码包装在类似if( !Page.IsPostBack ) { ... }.