我正在尝试从代码隐藏中设置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_Urn
是int
,但我收到错误消息:
无法将类型'string'隐式转换为'int'
我已经尝试了Int.Parse()
和ToString()
(不知道为什么会这样,但我是出于绝望而尝试过的)但不幸的是我无法弄清楚是什么导致了这个问题。
答案 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_Urn
是int
,因此不起作用。
area.SelectedValue = c.Area_Urn.ToString(); // now you assign a string to a string property