我正在开发一个使用框架集而不是母版页的网络应用程序。我想设置应用程序,以便每当我使用生产连接字符串在本地进行调试时,所有页面的背景颜色都是浅红色。
我在 StackOverflow 上遇到了一个问题,有人建议创建一个所有页面都继承自的基页,但我需要一种动态方法,无需编辑应用程序中的每个页面类即可正常工作。此时切换到使用母版页不是一种选择。
有没有办法使用 global.asax 或其他方式将样式或脚本标记注入(inject)每个加载文档的头部?
最佳答案
呜呜呜呜!
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
关键是获取页面引用,然后为其分配一个启动脚本,以便为正文元素添加样式。基本上,一旦您知道如何获取对页面对象的引用,就没有极限了。当然,始终建议使用母版页进行基础开发,但如果您需要的话,这应该可以为您提供一些快速而简单的功能。
关于javascript - ASP.NET:是否可以将 CSS 或 Javascript 注入(inject)到我的 Web 应用程序的每个页面中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10604119/