编辑网格视图时如何使用下拉列表

本文关键字:何使用 下拉列表 网格 视图 编辑 | 更新日期: 2023-09-27 18:25:52

我在GridView中有一个DropDownList。在编辑操作期间,所有行中的DropDownList都能正确地进行编辑(和更新)。

但在某些行中,当我单击编辑按钮时,它会显示以下错误:

"DropDownList3"的SelectedValue无效,因为它有项目列表中不存在。参数名称:值

这是代码:

<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="AccessDataSource4"
    DataTextField="ProvinceName" DataValueField="ProvinceName" SelectedValue='<%# Bind("Province") %>'>
</asp:DropDownList>

Gridview中显示了表"RateCenters",该表具有"Province Column"。Province列从表ProvinceList的"ProvinceName"中获取来源。

请告诉我解决办法。

编辑网格视图时如何使用下拉列表

您的标记表示您正在将DropdownListSelectedValue绑定到父数据源(Gridview的数据源)中的"省"字段

DropDownList中的值来自AccessDataSource4控件中的"ProvinceName"字段。

此错误意味着您的代码正在从GridView数据源("省"字段)中选择一个值,该值不存在于AccessDataSource4控件的"ProvinceName"字段中返回的值列表中。


一个快速的解决方案是修改AccessDatasource4的"SelectCommand",使其运行与GridView控件的数据源相同的查询,但在SELECT列表中只需要一列("ProvinceName")。这样你就可以保证拥有相同的价值观。

如果您在DDL(DropDownList)中以编程方式设置了一个实际上不存在于列表中的值,则会出现此错误。

场景:您在DDL中选择了选项5,但它只包含3选项,例如

告诉用户更多关于您的代码的信息,以便我们进行调查。