将所选值从dropdownlist转换为int

时间:2012-03-29 11:38:33

标签: c# asp.net

我有一个下拉列表,我希望将所选值放入一个int变量,然后在我的aspx页面中,我想将它分配给rowspan。这是我获取值并转换它的C#代码:

protected void drop_SelectedIndexChanged(object sender, EventArgs e)
        {
            int a = Int32.Parse(drop.SelectedValue.ToString());

这是我的aspx代码,我正在尝试分配变量a:

 <asp:TableHeaderRow>
 <asp:TableHeaderCell RowSpan="<% a %>">Hostese</asp:TableHeaderCell>
 </asp:TableHeaderRow>  

我收到错误:无法从字符串表示形式创建int32类型的对象。有谁能说为什么?这是一个带有C#的asp.net应用程序。

6 个答案:

答案 0 :(得分:2)

尝试在读取下拉值时设置此值。

<asp:TableHeaderRow>
    <asp:TableHeaderCell ID="h1" >Hostese</asp:TableHeaderCell>
</asp:TableHeaderRow> 



protected void drop_SelectedIndexChanged(object sender, EventArgs e)
{
    h1.RowSpan = Int32.Parse(drop.SelectedValue.ToString());

答案 1 :(得分:2)

这个怎么样:

int a = int.TryParse(drop.SelectedValue, out a)? a : 0;

答案 2 :(得分:0)

如果drop.SelectedValue的值不是int,那么您将收到此错误。例如,如果值包含浮点。

答案 3 :(得分:0)

尝试使用int.Parse(drop.SelectedValue)int.Parse(drop.SelectedValue.Trim())代替Int32.Parse(drop.SelectedValue.ToString())drop.SelectedValue已采用字符串格式,因此您无需使用ToString

进行转换

答案 4 :(得分:0)

尝试Int32.TryParse方法,尝试将字符串表示转换为int而不抛出异常。还要检查下拉列表项的值。当字符串值不表示整数值时会发生此异常。

答案 5 :(得分:0)

如果下拉列表项的值是数字(数字),如...

    <asp:DropDownList ID="DropDownList1" runat="server">
         <asp:ListItem Text="Please Select" Value="-1"></asp:ListItem>
         <asp:ListItem Text="1st" Value="1"></asp:ListItem>
         <asp:ListItem Text="2nd" Value="2"></asp:ListItem>
         <asp:ListItem Text="3rd" Value="3"></asp:ListItem>
     </asp:DropDownList>

然后你可以简单地做到这一点......

int i = Int32.Parse(DropDownList1.SelectedValue);

这对我来说总是有用!!!!!!!!!!