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

时间:2010-07-02 21:19:53

标签: asp.net asp.net-membership profile

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

对于某人来说应该是一些容易接受的......

2 个答案:

答案 0 :(得分:1)

你的问题有点不清楚,但我想你问为什么你还没有存储数据的用户有一个非空的配置文件数据对象呢?

This article可能希望能为您清除它。一些相关的部分:

  

用户个人资料是一个集合   ASP.NET 2.0运行时的值   团体作为公共领域   动态生成的类。班级   源自系统提供的   上课并延伸   增加了一些新成员。该   class不必标记为   可序列化,但其内容是   坚持到存储介质   个人财产。存储   发生在每个用户的基础上,是   保存到管理员   删除它。

进一步向下:

  

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

     

...

     

此代码假定其中包含Links属性   引用a的profile对象   集合类型。当页面是   加载,链接和其他属性   初始化为包含最多   最近存储的值;当页面   卸载他们当前的内容是   存储到持久性媒体中。

如果您需要跟踪用户之前是否曾设置过个人资料数据,您可以使用FindProfilesByUserName功能在登录之前检查个人资料是否存在。

答案 1 :(得分:0)

稍晚一些,但是UsingDefaultValue会告诉您属性值是来自用户配置文件设置还是使用默认值。获得相同结果的另一种方法是使用Deserialized