嗨,我正在尝试将脚本注入我正在重定向到的页面。
我该怎么做?
一些事情:
我知道我可以在会话或cookie或查询字符串中放置一些标志,然后在另一页中检查它。但我想避免这样做,因为我重定向到很多页面并且不想复制代码 - 除非我不得不......
相关代码是:
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), Guid.NewGuid().ToString(), "doSomeThings();", true);
Response.Redirect(newURL);
答案 0 :(得分:2)
或者您可以做另一件事,将JS或必需的功能添加到您的页面(您要重定向到的页面)并从当前页面传递某种标记。
然后在下一页中,阅读标志,如果它满足您的条件,则调用该函数。
正如@Oded所说,你无法控制下一页会发生什么。
答案 1 :(得分:1)
您无法控制重定向目标上会发生什么 - 目标只知道它所获得的请求,而不知道它来自何处或是什么导致它。
您必须在每个重定向页面上使用某种机制,以便将脚本放在上面,以检测是否需要它(无论是通过URL上的参数还是其他方式)。
不要像你想要避免的那样重复代码,而是创建一个基类并从中继承你的页面。此注入行为可以放在基类中,以供所有继承页面共享。