【发布时间】:2010-07-08 18:08:16
【问题描述】:
我以前问过这个问题,但我正在恢复它,因为我没有得到满意的答复。
我有一个配置文件变量,当我加载它时,它被分配了默认值。我需要检查它是否曾经被分配过。通常我会使用 is null 比较,但这不起作用。
有人建议我使用看起来落后的 FindProfilesByUserName。不管这种方法不会起作用,因为它只会告诉我用户是否创建了任何个人资料,而不是针对我感兴趣的特定成员数据。(这似乎是倒退的,因为个人资料的全部目的是让访问当前的用户配置文件数据。这似乎是一个糟糕的设计,除非我遗漏了什么。)
我能看到的最后一个选项是为每个对象分配位以查看它们是否被弄脏或设置。除非需要,否则我不想这样做。
这里是 FindProfilesByUserName 示例:
ProfileInfoCollection profileInfo = ProfileManager.FindProfilesByUserName(ProfileAuthenticationOption.All, Membership.GetUser().UserName);
if (profileInfo.Count > 0)
{
if (profileInfo[Membership.GetUser().UserName] != null)
我的最后一个想法是存储集合,因为我认为我已经阅读过它们可以为空。就我而言,我真的不需要收藏,但这可能是最简单的解决方案。期待建议。我觉得我在这件事上一定遗漏了一些明显的东西。
说清楚
这不起作用(如果 http.context.profile.mydata != null)
【问题讨论】:
-
您能否也指出其他帖子?这可能有助于避免得到类似的、明显不令人满意的答案。
标签: asp.net asp.net-membership asp.net-profiles