我想重定向到同一项目中的另一个页面并自动触发点击事件。我可以重定向到另一个页面,但需要有关如何自动触发事件的帮助。我重定向的类称为Testing and the class to which i redirect is
TabTest . My code in the
测试`类是:
protected void LinkButton2_Click(object sender, EventArgs e)
{
Response.Redirect("TabTest.aspx");
}
答案 0 :(得分:3)
您无法在重定向时直接触发事件。
解决方案是将查询字符串参数添加到重定向:
Response.Redirect("TabTest.aspx?ShowChart=true");
在TabTest.aspx的Page_Load
事件中,添加以下代码:
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);
}
答案 1 :(得分:1)
我建议不要使用QueryString(用户可以手动输入),如下所示。我担心我的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
答案 2 :(得分:0)
你能否在page_load中触发事件?你可以把它贴在回发的支票上,这样它不会多次开火吗?
答案 3 :(得分:0)
你需要将Chart显示方法封装到一个单独的方法中,比如DisplayChart()
,并根据一些QueryString参数调用这些方法,或者只是在TabTest.aspx的page_load中调用它
避免直接调用处理程序,事件处理程序只应在触发事件时调用,最好在处理程序中调用此方法。