我有兩個ASP.NET網頁(Page1.aspx和Page2.aspx),Page1.aspx包含幾個TextBox控件和一個Button控件。Response.Redirect,從目標頁面訪問源頁面數據
點擊事件按鈕控制我重定向用戶到Page2.aspx使用Response.Redirect方法。
如何從目標頁面(Page2.aspx)訪問源頁面數據(Page1.aspx中的TextBox值)。
我不想使用跨網頁提交或Server.Transfer方法
謝謝。
我有兩個ASP.NET網頁(Page1.aspx和Page2.aspx),Page1.aspx包含幾個TextBox控件和一個Button控件。Response.Redirect,從目標頁面訪問源頁面數據
點擊事件按鈕控制我重定向用戶到Page2.aspx使用Response.Redirect方法。
如何從目標頁面(Page2.aspx)訪問源頁面數據(Page1.aspx中的TextBox值)。
我不想使用跨網頁提交或Server.Transfer方法
謝謝。
您將需要在某處保存該數據。 Response.Redirect
的工作方式是告訴客戶端(Web瀏覽器)爲指定的資源發出新的請求。這基本上意味着舊資源被放棄。把客戶做出的每一個請求看作是獨一無二的。
保存這些值的簡單方法是在致電Response.Redirect
之前將它們存儲在Session state的Page1
中。然後,在Page2
中,您可以從會話狀態中檢索這些值。
喜歡的東西:
第1頁
//...
Session["SomeValue"] = TextBox1.Text;
Session["SomeOtherValue"] = DropDownList1.SelectedIndex;
//...
Response.Redirect("Page2.aspx");
第2頁
//...
// Note: The following can have some additional type checking and input/value checking added
var someValue = Session["SomeValue"];
var someOtherValue = Session["SomeOtherValue"];
//...
嘗試使用會話變量
在第1頁
Session["field1"] = textbox1.Text;
頁面
2個
string page1text = Session["field1"];
謝謝卡邁勒。 :d – 2011-04-07 19:00:45
感謝您的回覆大衛,這意味着會話對象是,如果我們使用Response.Redirect的唯一途徑,有沒有其他辦法? – 2011-04-07 18:57:13
@Faizal Balsania:好的,你可以堅持在很多地方,技術上...在重定向,會話狀態,應用程序狀態,本地數據庫,數據庫服務器,文件等查詢字符串值。會話狀態是一個非常普遍的地方堅持下去。真的,哪個地方最適合你是一個設計問題。查詢字符串變量將非常RESTful和乾淨,但使URL長和醜,並可能顯示用戶超過你想要的。 – David 2011-04-07 21:01:13