C# 无法强制转换类型为';System.Data.DataRowView';输入';System.IConvertible';

C# 无法强制转换类型为';System.Data.DataRowView';输入';System.IConvertible';,c#,.net,windows-applications,C#,.net,Windows Applications,我用的是C代码 当时,这类错误已累积 Unable to cast object of type 'System.Data.DataRowView' to type 'System.IConvertible' 我怎样才能解决它 请帮助它看起来像您的ddlddivisionid。SelectedValue正在返回一个数据行视图。我假设您绑定了一个DataTable或类似的下拉列表(假设这就是我们正在查看的) 在这种情况下,您需要将ddlddivisionid.SelectedValue视为Dat

我用的是C代码

当时,这类错误已累积

Unable to cast object of type 'System.Data.DataRowView' to type 'System.IConvertible'
我怎样才能解决它


请帮助

它看起来像您的
ddlddivisionid。SelectedValue
正在返回一个
数据行视图
。我假设您绑定了一个DataTable或类似的下拉列表(假设这就是我们正在查看的)

在这种情况下,您需要将
ddlddivisionid.SelectedValue
视为DataRowView(可能首先强制转换到该对象),以从中获取值。。。我假设:

int i = Convert.ToInt32(((DataRowView)ddlDivisionId.SelectedValue)["id"]);
在这里,您应该将“id”替换为数据表中希望作为整数输出的字段的名称

int i = Convert.ToInt32(ddlDivisionId.SelectedValue.ToString());

add.ToString最后会起作用的

ya我正在使用DataTable填充网格。在这种情况下,我想(ddlDivisionId.SelectedValue)selectedIndex上的这个下拉值已更改。我的下拉字段名是数据库中的'DivisionId'。所以这里我放的是什么,而不是[“id”]?int i=Convert.ToInt32((DataRowView)ddlDivisionId.SelectedValue)[“id”);使用后,我得到错误:id既不是表的DataColumn,也不是表的DataRelation。第二个答案显示在我的收件箱中,但我无法打开第二个答案。因此,请再次发布我更新了一条关于“id”的注释。基本上,这是您试图访问的表中的字段名。
int i = Convert.ToInt32(ddlDivisionId.SelectedValue.ToString());