如何在ASP.NET MVC中获取另一个用户的配置文件?

时间:2009-10-08 07:10:55

标签: asp.net-mvc

我想在登录时设置一个包含用户时区的cookie。 AccountController.LogOn()似乎是最好的地方。但是,我还不能在那里读取用户的配置文件,因为我猜你只能在方法完成时访问配置文件。因此,此代码返回一个空字符串:

Dim timeZone = HttpContext.Profile("TZ").ToString

用户完全登录后,上述代码将返回正确的TimeZone。

一种解决方案是读取试图在AccountController.LogOn()中登录的用户名的配置文件:

ProfileCommon profile = Profile.GetProfile(username);  // FAILS

然而,这不起作用。

那么,如果他们没有登录,我如何阅读给定用户的个人资料?

2 个答案:

答案 0 :(得分:8)

这看起来并不明显,但却是一个获取资料:

ProfileBase profile = ProfileBase.Create(HttpContext.Profile.UserName, true);

返回现有实例。

答案 1 :(得分:1)

除了Mathias的回答之外,您还可以将其转换为您键入的个人资料:

ProfileCommon profile = (ProfileCommon)ProfileBase.Create(username, true);

此外,ProfileBase.Create的文档位于MSDN上。