-1

我正在尝试从代码隐藏中设置 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()不知道为什么会这样,但出于绝望我尝试过)但不幸的是我无法弄清楚是什么导致了这个问题。

4

3 回答 3

3
area.SelectedValue = c.Area_Urn.ToString()

应该这样做

于 2013-09-13T13:00:50.567 回答
2

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

area.SelectedValue = c.Area_Urn.ToString()

或者

area.SelectedValue = Convert.ToString(c.Area_Urn);
于 2013-09-13T13:00:56.640 回答
1

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

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

但是,因为SelectedValue是一个字符串,并且c.Area_Urn是一个int不起作用的。

area.SelectedValue = c.Area_Urn.ToString();  // now you assign a string to a string property
于 2013-09-13T13:01:53.647 回答