首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下拉列表中DataBind上的奇怪异常

下拉列表中DataBind上的奇怪异常
EN

Stack Overflow用户
提问于 2012-03-23 10:00:57
回答 2查看 909关注 0票数 0

我在这段代码中有一个例外:

代码语言:javascript
复制
ddlSalesMgr.SelectedIndex = -1;
ddlSalesMgr.SelectedValue = null;
ddlSalesMgr.DataBind();

引发“System.Web.HttpUnhandledException”类型的System.Web.HttpUnhandledException异常。-> System.ArgumentOutOfRangeException:'ddlSalesMgr‘有一个无效的SelectedValue,因为它不存在于项目列表中。

为什么这东西要扔在这里?我把SelectedValue设置为null..。

EN

回答 2

Stack Overflow用户

发布于 2012-03-23 11:17:22

试试这个:

代码语言:javascript
复制
ddlSalesMgr.DataBind();
ddlSalesMgr.SelectedIndex = 0;

您不能选择index -1,因为它从0开始。

票数 0
EN

Stack Overflow用户

发布于 2012-03-23 12:51:56

不能使用SelectedIndex=-1。如果在执行DataSource/DataBind调用之后调用它,ddlSalesMgr.Items.Add将在底部添加一个新的Listitem元素,所以使用ddlSalesMgr.Items.Insert方法代替.

代码语言:javascript
复制
ddlSalesMgr.DataSource = DataAccess.GetDropDownItems(); // Psuedo Code
ddlSalesMgr.DataTextField = "Value";
ddlSalesMgr.DataValueField = "Id";
ddlSalesMgr.DataBind();

ddlSalesMgr.Items.Insert(0, new ListItem("Please select", ""));

将“请选择”下拉项目添加到顶部。

正如前面提到的,在下拉列表中始终会有一个项目被选中(我相信ListBoxes是不同的),如果没有显式选择,这将默认为顶部。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9837206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档