2014-04-15 75 views
0

我想要完成的是创建一个cookie,以便在您单击保存按钮后,离开页面,然后返回到页面,cookie的值应显示在页面顶部的标签欢迎用户回到页面。 这是我正在使用的代码。Cookie不显示在第二页加载

<%@ page language="C#" %> 
<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Data.OleDb" %> 

<script language="C#" runat="server"> 

String welcomeBackName; 
void Page_Load(Object sender, System.EventArgs e) 
{ 

    if (Page.IsPostBack==true) 
    { 
    HttpCookie RUcookie = new HttpCookie("RUcookie"); 
    lblMessage.Text = txtfirstname.Text.Substring(0,1).ToLower() + txtlastname.Text.ToLower() + "@radford.edu"; 
    RUcookie.Value = "Welcome " +txtfirstname.Text +" "+ txtlastname.Text; 
    RUcookie.Expires = DateTime.Now.AddHours(1); 
    Response.Cookies.Add(RUcookie); 

    if(RUcookie != null) 
    { 
     welcomeBackName = Request.Cookies["RUcookie"].Value; 
     welcomeBack.Text = welcomeBackName; 
    } 
    } 

} 

</script> 

<html> 
<form id=form1 runat="server"> 
    <br> 
    <ASP:Label id="welcomeBack" Text="" size="60" runat="server"/> 
    <br> 
    <br> 
    <br> 
    First Name: <asp:TextBox id="txtfirstname" size="20" runat="server"/><br> 
    <br> 
    Last Name : <asp:TextBox id="txtlastname" size="20" runat="server"/><br> 
    <br> 
    <ASP:Button id="butSave" Text="Save" Autopostback=true runat="server"/> 
    <br> 

    <br> 
    Email: <asp:Label id="lblMessage" size="80" forecolor=Blue runat="server"/><br> 
</form> 
</html> 

回答

2

几件事情不对。

你说你想在用户离开页面并返回时发生这种情况。根据定义,你不会进行回发。这将是一个新的页面加载。不要检查它是否是回发,你应该检查cookie是否存在。

另一件事是IsPostBack根据定义是一个布尔值。你不需要检查它是否等于true。这是真的还是假的。

+0

非常感谢你@mason我不能相信我错过了,如果陈述是在postBack声明。 – EPKasper

相关问题