【问题标题】:Inject Script to a page i'm redirecting将脚本注入我正在重定向的页面
【发布时间】:2012-06-02 20:06:01
【问题描述】:

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

我该怎么做?

几件事:

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

相关代码为:

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

【问题讨论】:

    标签: asp.net response.redirect registerclientscriptblock


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      您无法控制重定向目标会发生什么 - 目标只知道它收到的请求,而不知道它来自谁或导致它的原因。

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

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

      【讨论】:

      • 所以你的意思是我不能为我目前没有发布给客户的特定页面注册脚本?
      猜你喜欢
      • 1970-01-01
      • 2018-09-05
      • 2015-11-22
      • 1970-01-01
      • 2013-04-26
      • 2013-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      相关资源
      最近更新 更多