我在这段代码中有一个例外:
ddlSalesMgr.SelectedIndex = -1;
ddlSalesMgr.SelectedValue = null;
ddlSalesMgr.DataBind();引发“System.Web.HttpUnhandledException”类型的System.Web.HttpUnhandledException异常。-> System.ArgumentOutOfRangeException:'ddlSalesMgr‘有一个无效的SelectedValue,因为它不存在于项目列表中。
为什么这东西要扔在这里?我把SelectedValue设置为null..。
发布于 2012-03-23 11:17:22
试试这个:
ddlSalesMgr.DataBind();
ddlSalesMgr.SelectedIndex = 0;您不能选择index -1,因为它从0开始。
发布于 2012-03-23 12:51:56
不能使用SelectedIndex=-1。如果在执行DataSource/DataBind调用之后调用它,ddlSalesMgr.Items.Add将在底部添加一个新的Listitem元素,所以使用ddlSalesMgr.Items.Insert方法代替.
ddlSalesMgr.DataSource = DataAccess.GetDropDownItems(); // Psuedo Code
ddlSalesMgr.DataTextField = "Value";
ddlSalesMgr.DataValueField = "Id";
ddlSalesMgr.DataBind();
ddlSalesMgr.Items.Insert(0, new ListItem("Please select", ""));将“请选择”下拉项目添加到顶部。
正如前面提到的,在下拉列表中始终会有一个项目被选中(我相信ListBoxes是不同的),如果没有显式选择,这将默认为顶部。
https://stackoverflow.com/questions/9837206
复制相似问题