我在 webform 上有几个 DropDownLists,每个都指向一个 SqlDataSource。其中一些数据源使用这些 DropDownLists 之一作为选择参数,将列表过滤到特定类别。
对于某些用户,这些 DropDownLists 中的两个将被自动设置和禁用。
当我提交启用下拉列表的表单时,它工作正常,但是当它们被禁用时,DropDownList 的 SelectedValue 被重置为列表中的第一个。
我的 DropDownLists 构造如下:
<asp:DropDownList ID="ddlManager" runat="server" DataSourceID="dsManagers"
EnableViewState="false" DataValueField="ManagerID" DataTextField="MgrName"
AppendDataBoundItems="false" ondatabound="ddlManager_DataBound" >
下拉列表在数据绑定事件上添加了一个额外的项目,如下所示:
protected void ddlManager_DataBound(object sender, EventArgs e)
{
this.ddlManager.Items.Insert(0, new ListItem("--Manager--", "--Manager--"));
}
任何人都可以解释为什么会这样吗?
谢谢