我已经问过这个,但我正在复活它,因为我没有得到满意的答复。如何确定是否曾经设置过配置文件数据成员?
我有一个配置文件变量,当我加载它时,它被分配默认值。我需要检查是否曾经分配过。通常我会使用一个为空的比较,但不会工作。
有人建议我使用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)
你能否指出另一篇文章?这可能有助于避免类似的,显然不令人满意的答案。 – XIII 2010-07-08 18:29:29
http://stackoverflow.com/questions/3169164/profiles-content-check-if-set – 2010-07-08 19:01:32