2014-04-15 123 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

相關問題