我必须在点击按钮时从内容页面更改母版页上标签中的文本,但这是皱纹...它是在表单登录重定向期间。有没有办法实现这个目标?这是我的代码,一切都设置正确我认为问题是重定向,它将标签更改回默认文本值。
protected void Login_Click(object sender, EventArgs e)
{
var result = Utilities.AuthenticateUser(txtUserName.Text, txtPassword.Text);
if (result.Authenticated)
{
this.User = result;
DDC master = (DDC)Page.Master;
master.lblLogin_Text = result.FirstName + ' ' + result.LastName;
FormsAuthentication.RedirectFromLoginPage(result.Username, false);
return;
}
}
}
public partial class DDC : System.Web.UI.MasterPage
{
public string lblLogin_Text
{
get { return lblLogin.Text; }
set { lblLogin.Text = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
答案 0 :(得分:1)
使用Session
跟踪您的身份验证结果。由于您的示例代码中没有类名,因此我们假设其为AuthenticationResult
。
在您的登录页面中,进行身份验证,然后设置MasterPage
可以读取的会话变量:
protected void Login_Click(object sender, EventArgs e)
{
var result = Utilities.AuthenticateUser(txtUserName.Text, txtPassword.Text);
if (result.Authenticated)
{
Session["AuthenticationResult"] = result;
FormsAuthentication.RedirectFromLoginPage(result.Username, false);
}
}
在MasterPage
的{{1}}中,让它检查Page_Load
变量并设置Session
文字:
Label