ASP.NET:是否可以将CSS或Javascript注入到我的Web应用程序中的每个页面中

ASP.NET: Is it possible to inject CSS or Javascript into every page in my web app?

本文关键字:应用程序 Web 我的 注入 是否 NET Javascript CSS ASP      更新时间:2023-09-26

我正在开发一个使用框架集而不是母版页的 Web 应用程序。 我想设置应用,以便每当我使用生产连接字符串在本地调试时,所有页面的背景色都是浅红色阴影。

我在 StackOverflow 上遇到了一个问题,有人建议创建一个所有页面都继承的基本页面,但我需要一种动态方法,无需编辑应用程序中的每个页面类即可工作。 此时切换为使用母版页不是一个选项。

有没有办法使用 global.asax 或其他方法将样式或脚本标签注入到每个加载的文档的头部?

伍特伍特!

Private Sub Global_asax_PreRequestHandlerExecute(sender As Object, e As System.EventArgs) Handles Me.PreRequestHandlerExecute
    Dim p As Page = TryCast(System.Web.HttpContext.Current.Handler, Page)
    If Not p Is Nothing Then p.ClientScript.RegisterStartupScript(p.GetType, Guid.NewGuid.ToString("n"), "document.body.style.backgroundColor = 'red';", True)
End Sub

关键是获取页面引用,然后为其分配启动脚本以向 body 元素添加样式。 基本上,一旦您知道如何获取对页面对象的引用,天空就是极限。 当然,始终建议使用母版页进行从头开始开发,但如果您需要,这应该会为您提供一些快速而肮脏的功能。

我不久前发布了一个问题,询问如何强制所有页面从特定的基本页面固有。答案对我来说来晚了,所以我从未尝试过,但查看这篇文章,有人说它应该有效。

它指向的页面是:http://ryanfarley.com/blog/archive/2004/06/08/766.aspx