【问题标题】:Error of input string was not in a correct format输入字符串的错误格式不正确
【发布时间】:2014-04-25 04:52:03
【问题描述】:

我正在用 C# 在 Asp.NET 上创建一个基于数据库的网站应用程序。我在浏览器上显示了一个错误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>

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

【问题讨论】:

  • 您在哪一行出现错误?
  • 你需要检查status是一个字符串并且它的值可以被解析为一个整数
  • 您的status 字符串到底是什么?调试并告诉我们。

标签: c# asp.net type-conversion


【解决方案1】:

像这样使用TryParse方法

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多