将脚本注入我正在重定向的页面

时间:2012-06-02 20:06:02

标签: asp.net response.redirect registerclientscriptblock

嗨,我正在尝试将脚本注入我正在重定向到的页面。

我该怎么做?

一些事情:

我知道我可以在会话或cookie或查询字符串中放置一些标志,然后在另一页中检查它。但我想避免这样做,因为我重定向到很多页面并且不想复制代码 - 除非我不得不......

相关代码是:

 ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), Guid.NewGuid().ToString(), "doSomeThings();", true);
 Response.Redirect(newURL);

2 个答案:

答案 0 :(得分:2)

或者您可以做另一件事,将JS或必需的功能添加到您的页面(您要重定向到的页面)并从当前页面传递某种标记。

然后在下一页中,阅读标志,如果它满足您的条件,则调用该函数。

正如@Oded所说,你无法控制下一页会发生什么。

答案 1 :(得分:1)

您无法控制重定向目标上会发生什么 - 目标只知道它所获得的请求,而不知道它来自何处或是什么导致它。

您必须在每个重定向页面上使用某种机制,以便将脚本放在上面,以检测是否需要它(无论是通过URL上的参数还是其他方式)。

不要像你想要避免的那样重复代码,而是创建一个基类并从中继承你的页面。此注入行为可以放在基类中,以供所有继承页面共享。