C# 当页面重新加载asp.net时,Cookie不起作用
单击“我的登录”按钮时,应创建此cookieC# 当页面重新加载asp.net时,Cookie不起作用,c#,asp.net,cookies,response.redirect,C#,Asp.net,Cookies,Response.redirect,单击“我的登录”按钮时,应创建此cookie protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { HttpCookie testCookie = new HttpCookie("UserInfo"); testCookie.Expires = DateTime.Now.AddDays(1);
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HttpCookie testCookie = new HttpCookie("UserInfo");
testCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(testCookie);
}
}
protected void NavigationMenu_MenuItemClick(object sender, MenuEventArgs e)
{
}
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
}
protected void LoginView1_ViewChanged(object sender, EventArgs e)
{
}
protected void btnLogIn_Click(object sender, EventArgs e)
{
if (UserEmail.Text == "example@hotmail.com" && TextBox1.Text == "qwerty1")
{
HttpCookie cookie = Request.Cookies["UserInfo"];
cookie["userName"] = UserEmail.Text;
cookie["booleanCheck"] = "true";
Response.Cookies.Add(cookie);
Response.Redirect(Request.RawUrl);
}
else
{
ErrorMessage.Visible = true;
ErrorEmail.Visible = true;
ErrorPassword.Visible = true;
}
}
}
}
然后,应该使用上面保存的cookie设置站点的母版页
public partial class _Default : System.Web.UI.Page
{
Boolean found = false;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_PreInit(object sender, EventArgs e)
{
String signedInCheck = "false";
HttpCookie cookie = Request.Cookies["userInfo"];
if (cookie != null)
{
signedInCheck = cookie["booleanCheck"];
}
try
{
if (signedInCheck != "true")
this.Page.MasterPageFile = "~/Site.Master";
else
this.Page.MasterPageFile = "~/LoggedIn.Master";
}
catch (Exception ex)
{
}
}
}
}
此代码用于切换到第二个母版页,但当该页被重新定向,甚至返回到自身时,它会切换回第一个母版页。如何更改此设置,以便登录时始终显示第二个母版页。您需要添加Cookie的天数或过期时间
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie["Font"] = "Arial";
myCookie["Color"] = "Blue";
myCookie.Expires = DateTime.Now.AddDays(1d);
Response.Cookies.Add(myCookie);
试试看它是否适合你
供您参考的URL
当您说“返回到自身”或切换回第一个母版页时,您的意思是说使用浏览器的“返回”按钮?您想处理此场景还是其他任何情况。您的问题&问题内容不一致,请具体说明。