我有一個文本字符串值,我想從一個網頁持續到另一個,而不使用查詢字符串或會話/視圖狀態。我一直在試圖讓ASP http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.hiddenfield.aspx">HiddenField控件將信息從一個web表單傳遞到不同形式。
所有我見過的hiddenField控件實例是保存在客戶端的往返行程服務器相同的形式。
有沒有辦法爲形式訪問ASP控件(及其值)從先前呈現的形式?或者是初始形式在第二個表單執行時簡單地處理內存 OnLoad方法?如果一個頁面執行一個Response.Redirect()到另一個網頁,新頁面可以從原始頁面訪問asp.net控件中的值嗎?
3
A
回答
0
我會假設Response.Redirect()發送一個Loc ation:HTTP頭做重定向。由於HTTP是無狀態的,所以我還假設這些變量是不可訪問的。
然而,有解決方案。
- 打印帶有隱藏域的表單,並使用JavaScript來提交
- 重定向代碼內部(加載它需要得到的東西手動)
- Store中的某些臨時數據庫表中的數據某處,並沿着一個唯一的ID通過
但是,從我的經驗,我不明白爲什麼你可能需要這樣做(除重新提交表單的用戶認證之後 - 這希望你應該能夠使用方法2用於
0
請記住,Response.Redirect指示瀏覽器向服務器發出另一個請求。就服務器而言,這個下一個請求與任何其他入站請求是無法區分的。這當然不會以任何方式連接到以前的表單。
您能解釋一下您對會話中存儲的反感嗎,所以我們可以提出一些可行的選擇嗎?
2
如果這兩個網頁住在同一個應用程序,您可以使用Server.Transfer方法:
firstpage.aspx:
protected void Page_Load(object sender, EventArgs e)
{
Server.Transfer("~/secondpage.aspx");
}
secondpage.aspx:
protected void Page_Load(object sender, EventArgs e)
{
Page previousPage = (Page) HttpContext.Current.PreviousHandler;
Label previousPageControl = (Label) previousPage.FindControl("theLabel");
label.Text =previousPageControl.Text;
}
一個稍微更好的解決辦法在您的第一頁上實現一個接口,在此處顯示第二頁所需值的屬性。
3
您無法使用Response.Redirect獲取上一頁的字段。 您可以用cross page posting:
if (Page.PreviousPage != null)
{
TextBox SourceTextBox =
(TextBox)Page.PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null)
{
Label1.Text = SourceTextBox.Text;
}
}
4
快速答案是否定的。正如其他人已經注意到的,你可以使用Server.Transfer,然後你可以 - 但這是謹慎使用。這是一個「服務器端重定向」,例如。
你的用戶在http://mysite.com/Page1.aspx他們點擊一個按鈕,然後執行Server.Transfer(「Page2.aspx」)。 Page2.aspx將在瀏覽器中呈現,但URL仍然爲Page1.aspx,這可能會導致混淆並導致後退/前進導航。
就我個人而言,我只會使用Server.Transfer作爲最後的手段 - 在網絡世界中,跨頁面共享數據通常意味着您需要使用存儲機制; Cookie,QueryString,會話,數據庫 - 請選擇。
相關問題
- 1. 如何從調用中的另一個頁面發佈到另一個ASP.NET頁面以返回到該頁面?
- 2. 將值從一個頁面傳遞到另一個頁面
- 3. 將值從一個HTML頁面傳遞到另一個頁面
- 4. 將值從一個頁面轉移到另一個頁面?
- 5. 我可以在Asp.Net的另一頁訪問一個頁面的ViewState嗎?
- 6. 如何將值從一個頁面到另一個頁面在asp.net使用vb
- 7. 如何從一個頁面到另一個頁面使用JavaScript?
- 8. 如何從一個頁面到另一個頁面
- 9. 如何從一個頁面跳轉到另一個頁面?
- 10. 從另一頁面訪問控制。 ASP.Net
- 11. 在xcode中從一個頁面導航到另一個頁面
- 12. 在Silverlight中從一個頁面過渡到另一個頁面
- 13. 如何從一個頁面上傳文件到另一個頁面在asp.net?
- 14. 從一個頁面到另一個頁面+區域的URL
- 15. 從一個頁面導航到另一個頁面的選項
- 16. 從一個頁面輸入的信息到另一個頁面
- 17. 如何在asp.net mvc4中從一個頁面重定向到另一個頁面?
- 18. 從一個頁面URL重定向到另一個頁面
- 19. 將var從一個頁面傳遞到另一個頁面
- 20. 從一個頁面移動到另一個頁面
- 21. 使用urllib2從一個頁面跳轉到另一個頁面
- 22. 將用戶從一個頁面帶到另一個頁面
- 23. 使用jquery從一個頁面輸入到另一個頁面
- 24. jquery:從一個頁面重定向到另一個頁面
- 25. 將結果值從一個PHP頁面傳遞到另一個頁面
- 26. 如何從java的另一個頁面包含一個頁面?
- 27. 如何將jsp中的值從一個頁面傳遞到另一個頁面
- 28. 如何解析xml到一個頁面到另一個頁面?
- 29. Asp.Net從另一個頁面更改值
- 30. 將值從一個頁面傳遞到另一個頁面並更新
使用Server.Transfer()方法後,您也可以通過Page.PreviousPage屬性引用上一頁。 – 2008-10-08 07:36:44