我在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>
我如何解决这个问题?谢谢。
答案 0 :(得分:4)
使用TryParse
这样的方法
int y;
int.TryParse(status,out y);
TryParse
方法返回bool
,表示输入是否可转换为整数。如果是,那么它将转换为int并将其分配给y
变量。如果输入无法转换为int,则y
的值将为0
。