我正在使用C#Web应用程序。我需要创建一个包含通过网络查询检索的特定用户信息的用户对象。我目前在母版页“ page_init”部分中具有此代码。我认为由于所有页面都引用了母版页,因此用户对象将持久存在。我发现每次加载新页面时都会运行“ page_init”。如何在登录页面上创建用户对象,然后使其持久化,以便可以在所有后续页面上引用该对象。为了进一步了解我目前的架构,我提供了以下片段:
这在母版页上:
protected void Page_Init(object sender, EventArgs e)
{
// Get the logged in user id with acct domain (ie. acct05\abc123)
masterNtId = Request.ServerVariables["LOGON_USER"].ToString();
// Get the logged in user id (ie. abc123)
masterNtID_short = masterNtId.Substring(masterNtId.IndexOf("\\") + 1);
// Create User Object
UserObject user = User.SearchUserWhitePages(masterNtID_short);
string name = user.get_UserName();
}
UserObject类保存用户的属性。 User类填充UserObject。
在“ UserObject用户= User.SearchUserWhitePages(masterNtID_short);”行中我将用户ID传递给用户类以构建UserObject。然后将其返回到母版页。
这一切正常,除了每个页面都会发生。我只希望当用户首先导航到目标页面,然后使它在网站的所有其他页面中持久存在时发生这种情况。