代码之家  ›  专栏  ›  技术社区  ›  Curtis White

配置文件内容检查是否设置?

  •  1
  • Curtis White  · 技术社区  · 14 年前

    使用asp.net配置文件,我存储了一个复杂类型(类)并检索了它。但它返回的是一个未初始化的新对象,而不是空对象?这是预期的行为吗?如果是,我如何确定是否已为给定用户保存了数据?

    对某人来说应该是很容易得到的。。

    1 回复  |  直到 14 年前
        1
  •  1
  •   womp    14 年前

    你的问题有点不清楚,但我想你是在问为什么对于一个你还没有存储数据的用户有一个非空的profile数据对象?

    This article 希望能帮你弄清楚。一些相关位:

    用户配置文件是 ASP.NET 2.0运行时 作为公共字段的组 动态生成的类。班级 从提供的系统派生 类和扩展为 增加几个新成员。这个 类不必标记为 可序列化,但其内容是 作为 个人财产。储藏室 在每个用户的基础上发生,并且是 保存到管理员 删除它。

    再往下:

    当应用程序运行时 显示,ASP.NET动态 创建包含 正确键入数据并分配 记录用户的当前设置 到数据中定义的属性 模型。配置文件对象被添加到 当前HttpContext对象和 提供给 配置文件属性。假设 配置文件模型已定义为 将链接列表存储为集合, 下面的代码片段显示了 检索收藏链接列表 由给定用户创建的:

    ...

    此代码假定 引用 集合类型。当页面是 已加载,链接和其他属性是 初始化为包含最多 最近存储的值;当 已卸载它们当前的内容是 储存在持久介质中。

    如果需要跟踪用户以前是否设置过配置文件数据,则可以使用 FindProfilesByUserName 在登录之前检查是否存在配置文件的函数。