2011-07-27 135 views
4

我想重定向到同一個項目中的另一個頁面並自動點擊事件。我可以重定向到另一個頁面,但需要有關如何自動觸發事件的幫助。從我在哪裏重定向類被稱爲Testing and the class to which i redirect is TabTest . My code in the Testing`類是:如何重定向到其他頁面並在該頁面上觸發事件?

protected void LinkButton2_Click(object sender, EventArgs e) 
    { 
     Response.Redirect("TabTest.aspx"); 
    } 
+0

我編輯你的問題,使它更清晰,但我可能做錯了什麼,改變了意思。你能否通過這個版本檢查你想要的?否則使用編輯鏈接進行更新。 –

回答

3

不能直接開槍重定向的事件。

一種解決方案是一個查詢字符串參數添加到重定向:

Response.Redirect("TabTest.aspx?ShowChart=true"); 

Page_Load事件TabTest.aspx的,添加以下代碼:

if(Request.QueryString["ShowChart"] != null 
    && Request.QueryString["ShowChart"] == "true")) 
{ 
    // Call the click event handler for the button that shows the chart. Passing 
    // `null, null` assumes that you don't use the sender or eventargs parameters 
    // in the event handler. 
    ShowChart_Click(null, null); 
} 
+0

我有一個tabtest.aspx頁面上的鏈接按鈕,顯示圖表上的點擊事件我想重定向到tabtest頁面和點擊鏈接按鈕事件按鈕自動顯示圖表重定向? –

+0

@Syed Raza:根據您的評論更新了代碼以闡明。 –

+0

我試圖做到這一點,但當我調試它重定向到tabtest頁面我使用斷點如果條件之前加載事件,但它沒有捕獲它繼續重定向到另一個頁面? –

0

你能不火的事件在page_load?你可以堅持它在回發檢查,所以它不會觸發不止一次?

0

你需要基於一些查詢參數封裝圖表顯示方法到一個單獨的方法說喜歡DisplayChart()並調用這些方法或者只是把它在TabTest.aspx

避免在Page_Load直接調用處理程序,事件處理程序只應作爲事件被觸發的結果被調用,最好在處理程序中調用此方法。

1

而不是使用QueryString(用戶可以自己手動鍵入)我建議傳遞一個Session變量,如下所示。我怕我的C#的知識是不存在的,但這裏是一個VB.NET相當於:

FirstPage.aspx

Session("mySession") = "myValue" 
Response.Redirect("TabTest.aspx?FireSession=1") 

TabTest.aspx

If Request.QueryString("FireSession") = 1 AndAlso Session("mySession") IsNot Nothing AndAlso Session("mySession") = "myValue" Then 
    RunMethod() 
End If 
相關問題