2011-07-27 95 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 
相关问题