返回上一页,文本框中仍然存在值

问题描述 投票:1回答:3

好的..我有一个带文本框的开始页面我将文本框中输入的值发送到另一个页面,使用Cache点击下一个按钮。

现在我遇到一个问题,当用户进入下一页时,广告决定再次返回,他应该能够这样做,并且他在文本框中输入的值应该仍然存在。

有没有办法这样做......

我发送值的代码是:

大段引用

protected void Button4_Click(object sender,EventArgs e)

    {

        if (TextBox2.Text == "" || TextBox3.Text == "")

        {

            Label1.Text = ("*Please ensure all fields are entered");

            Label1.Visible = true;

        }

        else

        {

            Cache["PolicyName"] = TextBox2.Text;

            Cache["PolicyDesc"] = TextBox3.Text;

           Response.Redirect("~/Addnewpolicy3.aspx");

        }

    }

我将在下一页收到此消息

protected void Page_Load(object sender,EventArgs e)

    {

        if (!IsPostBack)

        {

            string pn = Cache["PolicyName"].ToString();

            string pd = Cache["PolicyDesc"].ToString();

            string os = Cache["OperatingSystem"].ToString();


        }
    }

大段引用

c# asp.net visual-studio-2008
3个回答
2
投票

听起来你想要采用在2.0版本中添加到ASP.NET的跨页面回发的广告

以下URL应提供一些指导

http://msdn.microsoft.com/en-us/library/ms178139.aspx


1
投票

缓存由所有用户共享。上面的代码将导致用户之间共享信息。如果您想要每用户临时存储,则应使用会话。除此之外,我可以提出2条建议:

  1. 继续使用Session,你的方法很好
  2. 看看精灵控制http://msdn.microsoft.com/en-us/magazine/cc163894.aspx

要使值恢复,请在控件中执行以下操作:

<asp:TextBox ID="txtName" runat="server" text='<%=Session["Name"] %>'></asp:TextBox>

0
投票

假装你有两页,page1page2:首先你在page1上搜索并获得结果,然后点击链接进入第二页。

我的建议是当你点击page1上的超链接/按钮时,你可以将textbox字段值放入会话中

Session["key"] = txtbox.Text;

进入第二页后,您可以尝试在“后退”按钮操作中设置等于自身的会话,以返回page1

Session["key"] = Session["key"].ToString();

page2返回时插入代码,从会话中获取值并放入搜索表单的textbox

txtbox.Text = Session["key"].ToString();
© www.soinside.com 2019 - 2024. All rights reserved.