【问题标题】:how to send the value of a textbox from one page to another using querystring如何使用查询字符串将文本框的值从一页发送到另一页
【发布时间】:2011-04-07 04:01:45
【问题描述】:

我有一个 page1 和那个打开 Page2 的页面上的链接。 Page1 上有一个文本框,当用户单击 Page2 的链接时,需要将其值传递到 Page 2。

首先,我想使用 onTextbox changed 事件,但不能使用它,因为文本框中的值是自动生成的。

加载 Page1 后,文本框中的值为 1,单击 Page2 时需要将其传递到 Page2。 我想使用查询字符串来做到这一点。 请输入。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您可以使用 LinkBut​​ton 轻松做到这一点。处理 Page2 的 LinkBut​​ton 上的单击事件,然后使用适当的 QueryString 键/值对构造您的 Response.Redirect:

    HTML:

    <asp:TextBox ID="TextBox1" runat="server" />
    <asp:LinkButton ID="LinkButton1" runat="server" Text="Page2" />
    

    代码隐藏:

    Private Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click
        Response.Redirect(String.Format("Page2.aspx?tb={0}", Server.HtmlEncode(TextBox1.Text)))
    End Sub
    

    【讨论】:

    • 我用 LinkBut​​ton9.Attributes.Add("onclick", "httpPage2.aspx?index=1");它给了我一个语法错误。
    • @Janet - 抱歉,我昨天不得不下班,才看到这个。是的,将客户端 onclick 添加到 LinkBut​​ton 并没有多大意义,因为您使用 LinkBut​​ton 的全部原因是您可以在服务器端处理其点击事件。
    【解决方案2】:

    您可以使用LinkButton 并在代码绑定中处理其点击事件。在那里你可以Response.Redirect 到 Page2 并将 TextBox 的文本附加到 QueryString。

    Dim newLink as String = _
       String.Format("Page2.aspx?TextBox1Text={0}", Server.HtmlEncode(TextBox1.Text))
    Response.Redirect(newLink)
    

    【讨论】:

      【解决方案3】:

      为什么不使用 POST 和 Server.Transfer?

      使用 Server.Transfer 然后您可以访问上一页的所有表单属性。

      http://msdn.microsoft.com/en-us/library/ms525800%28v=vs.90%29.aspx

      【讨论】:

      • 我同意你的观点,但我的主管希望我用查询字符串来做。你能帮我提供一个示例代码来实现这一点,因为我是新手。
      • @Janet - 您的主管是否知道,通过在查询字符串中公开表单值,这几乎会使这变得毫无意义?毕竟,我可以只更改 QS 值并再次请求页面。
      猜你喜欢
      • 1970-01-01
      • 2015-02-05
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 2010-11-30
      相关资源
      最近更新 更多