【问题标题】:back to the previous page with values still present in textboxes返回上一页,文本框中仍然存在值
【发布时间】:2010-12-03 02:16:51
【问题描述】:

我有一个带有文本框的起始页面,并且我正在使用缓存在单击下一个按钮时将在文本框中输入的值发送到另一个页面。

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

有没有办法这样做...

我发送值的代码是:

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


    【解决方案1】:

    听起来您想利用在 2.0 版中添加到 ASP.NET 的跨页回发

    以下网址应该提供一些指导

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

    【讨论】:

      【解决方案2】:

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

      1. 继续会话,你的方法很好
      2. 看向导控件http://msdn.microsoft.com/en-us/magazine/cc163894.aspx

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

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

      【讨论】:

      • 更糟糕的是,缓存中的项目会被框架自行决定丢弃以节省内存。
      • 即使我使用会话,如果用户单击后退按钮,我如何保留文本框中的值......你能给我一个使用会话的例子吗......谢谢
      • 与用户之间共享值相比,内存问题很小。
      • 现在查看上面的示例。
      • 谢谢你们,我已经按照你的建议使用了缓存会话。Nissan Fan 我尝试了你的代码,但如果我输入 text='' 它是在文本框中显示 而不是值..我认为缺少一些语法..谢谢
      【解决方案3】:

      假设你有两页,page1page2: 第一次在page1上搜索得到结果,然后点击链接进入第二页。

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

      Session["key"] = txtbox.Text;
      

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2016-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多