输入字符串的错误格式不正确

时间:2014-04-25 04:52:04

标签: c# asp.net type-conversion

我在C#中使用Asp.NET创建基于数据库的WebSite应用程序。我的浏览器上显示Input string was not in a correct format.错误。显示的行是:

Line 162:        protected string ConvertStatus(object status)
Line 163:        {
Line 164:            int y = Convert.ToInt32(status);
Line 165:
Line 166:            if (y == 1)

我的相关代码隐藏:

protected string ConvertStatus(object status)
{
   int y = Convert.ToInt32(status);


    if (y == 1)
    {
        return "Enabled";
    }
    else
    {
        return "Disabled";
    }
}

这是设计页面中的标签:

<asp:TemplateField HeaderText="Status" SortExpression="Status">
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Status") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# ConvertStatus(Eval("Status")) %>'>  </asp:Label>
</ItemTemplate>
</asp:TemplateField>

我如何解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:4)

使用TryParse这样的方法

int y;
int.TryParse(status,out y);

TryParse方法返回bool,表示输入是否可转换为整数。如果是,那么它将转换为int并将其分配给y变量。如果输入无法转换为int,则y的值将为0