我有我的母版页。我需要从内容页面分配登录的用户。 我使用着陆页中的以下代码
var currentUser = Membership.GetUser();
Label lblLoggedUser = (Label)Master.FindControl("lblLoggedUser");
lblLoggedUser.Text = currentUser.UserName;
但是当我重定向到另一个页面时它会消失。 如何从一个页面设置母版页内容?
PS-我正在使用会员提供商登录。
答案 0 :(得分:1)
我相信您所说的是,当用户访问目标网页时,您列出的代码会执行并将用户名设置为母版页。但是当他们离开登录页面时,用户名变为空白。您正尝试将该值一次设置到登录页面的母版页中,并将其保留用于后续的pagas。
更好的方法是让母版页设置该值。让母版页负责母版页控件可以使各个页面只关注它们的逻辑。
将代码移动到母版页的页面加载或PreRender事件中。
void Page_PreRender(object sender, EventArgs e)
{
var currentUser = System.Web.Security.Membership.GetUser();
if (currentUser != null && currentUser.IsOnline)
this.lblLoggedUser.Text = currentUser.UserName;
else
this.lblLoggedUser.Text = "not authenticated";
}