C# - 无法隐式转换类型'字符串'到' int' (在DropDownList中设置值)

时间:2013-09-13 12:58:15

标签: c# drop-down-menu

我正在尝试从代码隐藏中设置DropDownList的选定值。这是DropDownList的HTML:

<select name="ctl00$MainContent$area" id="MainContent_area">
    <option value="1">Test area 1</option>
    <option value="2">Test area 2</option>
</select>

我可以使用此代码更新数据库,以便将回发值存储到对象中:

Area_Urn = int.Parse(area.SelectedValue)

但是,当我尝试使用此代码将值设置回存储在数据库中的值时:

area.SelectedValue = c.Area_Urn

尽管c.Area_Urnint,但我收到错误消息:

  

无法将类型'string'隐式转换为'int'

我已经尝试了Int.Parse()ToString()(不知道为什么会这样,但我是出于绝望而尝试过的)但不幸的是我无法弄清楚是什么导致了这个问题。

3 个答案:

答案 0 :(得分:3)

area.SelectedValue = c.Area_Urn.ToString()

应该这样做

答案 1 :(得分:2)

您正尝试将int值分配给string类型。所以你需要将int转换为string。所以试试这个

area.SelectedValue = c.Area_Urn.ToString()

area.SelectedValue = Convert.ToString(c.Area_Urn);

答案 2 :(得分:1)

错误信息很奇怪,通常我会期望相反:

  

无法将类型'int'隐式转换为'string'

但是,由于SelectedValue是字符串而c.Area_Urnint,因此不起作用。

area.SelectedValue = c.Area_Urn.ToString();  // now you assign a string to a string property