我已经完美地完成了注册页面、登录的编码,现在 UpdateCustomer 页面出现错误 - 背景信息:我使用 Microsoft Access 作为数据源
LabelState.Text = (string)Session["sState"];
LabelPostalCode.Text = (string)Session["sPostalCode"];
LabelContactNumber.Text = (string)Session["sContactNumber"];
LabelEmail.Text = (string)Session["sEmail"];
LabelPassword.Text = (string)Session["sPassword"];
这里一切都很好,除了LabelContactNumber.Text = (string)Session["sContactNumber"]
。
我相信这是因为Access中只有ContactNumber设置为Int,其余为Text,因此当我使用(string)时没有错误。
最佳答案
问题:失败,因为您将 Integer 类型分配给 String。 这里需要使用显式转换将Integer类型转换为String类型。
解决方案:如果您想在将联系人号码分配到 TextBox 之前检查是否可以解析为 int,请使用 TryParse
方法
int contact;
if(int.TryParse(Session["sContactNumber"],out contact))
LabelContactNumber.Text = contact.ToString();
else
LabelContactNumber.Text = "Invalid Contact!";
关于c# - 错误: Unable to cast object of type 'System.Int32' to type 'System.String' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21138243/