我正在使用框架集而不是母版页的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元素添加样式。基本上,一旦您知道如何获得对页面对象的引用,便无所不能。当然,始终建议您使用母版进行基础开发,但是如果需要的话,这应该为您提供一些快速而肮脏的功能。

关于javascript - ASP.NET:是否可以在我的Web应用程序的每个页面中注入(inject)CSS或Javascript?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10604119/

10-12 12:48
查看更多