ASP.NET对Cookie的多个值

时间:2014-03-26 03:53:32

标签: c# asp.net

我很难在我的cookie中添加第二个字段,原因有些奇怪,我似乎无法弄明白。我想要做的是有一个页面,你输入名字和姓氏,然后当你点击继续它将这些2存储到一个cookie,然后它重定向到订单页面,显示“欢迎回来雇佣兵”。现在在订单页面上,我有一个按钮,可以返回原始页面,其中包含2个名称文本框。我希望用以前的数据填充这些数据,如果我更改它以使更新更新第2页。任何帮助,将不胜感激。这是我的代码

protected void btnContinue_Click(object sender, EventArgs e)
{
    if (Page.IsValid)
    {
        DateTime expiry = DateTime.Now.AddMinutes(5);
        this.SetResponseCookie("FirstName", txtFirstName.Text, expiry);
        this.SetResponseCookie("LastName", txtLastName.Text, expiry);
    }
    Response.Redirect("~/Order.aspx");
}
private void SetResponseCookie(string name, string value,
                               DateTime expiry)
{
    HttpCookie cookie = new HttpCookie("FirstName", txtFirstName.Text);
    cookie.Values.Add("LastName", txtLastName.Text);
    cookie.Expires = expiry;
    Response.Cookies.Add(cookie);
}

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
        if (!(Request.Cookies["FirstName"] == null))
            txtFirstName.Text = Request.Cookies["FirstName"].Value;
    if (!IsPostBack)
        if (!(Request.Cookies["LastName"] == null))
            txtLastName.Text = Request.Cookies["LastName"].Value;
}

现在,一旦我点击继续,它会进入Order页面,其中包含“Welcome back Mercenary& LastName = One!”如果我告诉它回到第一页,它将填充“Mercenary& LastName = One”

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

添加以下行:

 HttpContext.Current.Request.Cookies.Add(cookie);

它与我合作,并通过此获得价值,

 string Name = Request.Cookies["FirstName"].Value.ToString();