我在C#Code
中使用int i = Convert.ToInt32(ddlDivisionId.SelectedValue);
当时这种类型的错误累积起来..
Unable to cast object of type 'System.Data.DataRowView' to type 'System.IConvertible'
我该如何解决?
请帮忙
答案 0 :(得分:6)
您的ddlDivisionId.SelectedValue
似乎正在返回DataRowView
。我假设你绑定了一个DataTable或类似的下拉列表(假设这是我们正在看的)。
在这种情况下,您需要将ddlDivisionId.SelectedValue
视为DataRowView(可能首先转换为该对象)以从中获取值...我假设如下:
int i = Convert.ToInt32(((DataRowView)ddlDivisionId.SelectedValue)["id"]);
在这里,您应该将“id”替换为您想要以整数形式输出的数据表中字段的名称。
答案 1 :(得分:4)
int i = Convert.ToInt32(ddlDivisionId.SelectedValue.ToString());
添加.ToString,最后它将起作用
答案 2 :(得分:1)
如果你填写组合框,
将第一行移至最后一行:
之前
cbo.DataSource = dt; // this line
cbo.DisplayMember = "name";
cbo.ValueMember = "id";
之后
cbo.DisplayMember = "name";
cbo.ValueMember = "id";
cbo.DataSource = dt;