【发布时间】:2013-11-13 21:00:30
【问题描述】:
我有一个由数据源(值和 id)填充的组合框
comboBox_Degree.DataSource = ds.Tables["Field"];`
comboBox_Degree.DisplayMember = "Field_Degree";
comboBox_Degree.ValueMember = "Field_ID";
现在我想在 SelectedIndexChanged 事件发生时检索 id。但是当我将它转换为 int 时,我遇到了这样的错误。
int fid = Convert.ToInt32(comboBox_Degree.SelectedValue.ToString());
错误:
输入字符串的格式不正确。
如何将此值转换为整数?
【问题讨论】:
-
comboBox_Degree.SelectedValue.ToString()的确切值是多少? -
您可以编辑以包含所选项目的值吗?
-
我推荐 TryParse 进行转换,这样您可以根据布尔值进行评估并更优雅地处理强制转换异常。
-
什么意思?我认为它是 system.Data.DatarRowView 并且通常它会返回一些数字。
-
TryParse 执行与 Convert.ToInt32 相同的操作,但如果转换失败它不会抛出异常。但这仍然不会告诉我们为什么转换失败。你能不破坏你的代码并获取值
comboBox_Degree.SelectedValue.ToString(),然后将其发布在此处以消除所有可能的歧义吗?