2011-04-06 82 views
1

我在該頁面上有一個page1和鏈接,用於打開Page2。當用戶點擊Page2的鏈接時,Page1上的文本框的值需要傳遞到頁面2上。如何使用查詢字符串將文本框的值從一個頁面發送到另一個頁面

首先,我想使用onTextbox改變的事件,但不能使用它,因爲文本框中的值是自動生成的。

Page1加載後,文本框中的值爲1,當單擊Page2時需要將該值傳遞到Page2上。 我想用查詢字符串來做這件事。請輸入 。

回答

1

你可以很容易地用LinkBut​​ton做到這一點。手柄上的LinkBut​​ton的第二頁的點擊事件,然後構造你的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 
+0

我做了LinkBut​​ton9.Attributes.Add(「onclick」,「httpPage2.aspx?index = 1」);它給我一個語法錯誤。 – Janet 2011-04-06 21:28:45

+0

@Janet - 對不起,我昨天不得不離開工作,只是看到了這一點。是的,將客戶端onclick添加到LinkBut​​ton並沒有多大意義,因爲使用LinkBut​​ton的全部原因是您可以處理它的click事件服務器端。 – 2011-04-07 17:00:31

0

爲什麼不使用POST和Server.Transfer?

使用Server.Transfer然後你可以訪問前一頁的所有表單屬性。

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

+0

我同意你的意見,但是我的主管想讓我用查詢字符串來做。你能幫我做一個示例代碼來實現這一點,因爲我是新手。 – Janet 2011-04-06 19:40:39

+1

@Janet - 你的主管是否知道通過暴露查詢字符串中的表單值,這幾乎使得這是毫無意義的練習?畢竟,我只能更改QS值並再次請求頁面。 – 2011-04-06 19:53:42

1

你可以使用一個LinkButton和codebind處理其Click事件。在那裏,你可以將Response.Redirect添加到Page2並將TextBox的文本附加到QueryString。

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

偉大的思想認爲一樣= D – 2011-04-06 19:49:34

相關問題