【问题标题】:Inject code on every page in a web application在 Web 应用程序的每个页面上注入代码
【发布时间】:2016-10-13 09:40:22
【问题描述】:

我有一些代码可以禁用鼠标右键单击(是的,我知道,不要射击信使)有没有办法将它包含在每个页面上,而无需手动将其添加到每个页面。不幸的是,这些页面没有包含页眉或页脚。我在想也许有办法通过 global.asax 做到这一点?

编辑:明确地说,这是一个 ASP.NET WebForms 项目。没有可以将代码放入的页眉或页脚,母版页不是一个选项。每个页面上也没有包含通用的 JavaScript 文件。我需要一些方法将一些 JavaScript 代码注入到 Web 应用程序的每个页面中,因为我真的不想遍历每个页面并手动添加它

【问题讨论】:

  • 您能说得更具体些吗?您的用例在此表格中不清楚...
  • 您考虑过使用母版页吗?
  • 为什么不能添加到索引页?
  • Masterpages 不是一个选项,不幸的是我可以将它添加到索引页面,但它也需要在所有其他页面上继续
  • 它是 ASP.NET WebForms 还是 MVC 应用程序?它的结构如何?您是否有一个包含在所有页面中的 javascript 文件?

标签: javascript c# asp.net webforms right-click


【解决方案1】:

您可以在 global.asax 中使用 BeginRequest 来实现您的要求:

    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        Response.Write("<script type='text/javascript'>alert('do something');</script>");
    }

我个人建议重构网站以使用母版页或通用 js 文件,但我想这是解决它的商业决策:)

干杯

【讨论】:

  • 这确实有效,但它不能生成非常漂亮的 HTML。我希望找到将代码插入 标签 的解决方案
  • @Crowcoder 的使用 IHttpHandler 的建议是您的选择。这就是为什么我认为重构是一种更实用的方法。
猜你喜欢
  • 2012-05-23
  • 2016-01-28
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多