如何在页面重新加载后显示cookie内容

时间:2015-03-17 20:21:43

标签: asp.net vb.net cookies

我的default.aspx表单标记内容是

<asp:Button ID="ButtonSave" runat="server" Text="Save" Height="47px" Width="176px" />
<asp:TextBox ID="TextBoxCookie" runat="server"></asp:TextBox>

我想要完成的是文本框中填充了我写入文本框的字符串,并在关闭页面后通过底部保存并重新打开它。 我背后的文字是

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    TextBoxCookie.Text = Request.Cookies("TextCookie").Value
End Sub

Protected Sub ButtonSave_Click(sender As Object, e As EventArgs) Handles ButtonSave.Click
    Dim aCookie As New HttpCookie("TextCookie")
    aCookie.Value = TextBoxCookie.Text.ToString
    aCookie.Expires = DateTime.Now.AddDays(1)
    Response.Cookies.Add(aCookie)
End Sub

但在关闭页面后,文本框为空。谁能告诉我代码有什么问题,因为我没有得到它。

1 个答案:

答案 0 :(得分:0)

  1. 如果页面不是回发,您只想设置TextBoxCookie的值。否则,您的页面流是为您键入一个值,单击按钮,然后在回发后,您将使用cookie的值(可能为空)覆盖您键入的值。然后,ButtonSave_Click执行并将cookie设置为文本框的值(现在为空,您输入的内容)。

  2. 请注意,<{em> ButtonSave_Click之后发生<{1}} 。请查看ASP.NET Page Life Cycle

  3. 所以,只有当文本框没有回复时才设置值...类似

    Page_Load