c# - 错误: Unable to cast object of type 'System.Int32' to type 'System.String'

标签 c# javascript database ms-access error-handling

我已经完美地完成了注册页面、登录的编码,现在 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/

相关文章:

c# - 访问单元格datagridview Winform C#的内容

javascript - 基于 Keycloak ABAC 的策略执行器,无需在 token 中添加属性

javascript - Chrome通过代码检查元素内容

javascript - 为什么返回 document.getElementById 不起作用

sql - 在Oracle SQL中,如何查询某个值的记录所占的比例?

c# - 如何使用 C# 检索 HTML5 数据-* 属性

c# - Roslyn 编译 - 如何引用 .NET Standard 2.0 类库

c# - 将枚举序列化为从 Azure Function 返回的 JSON 中的字符串

database - 表格规范化 (BCNF)

mysql - 尝试跳过Where for Laravel中的重复值