我正在开发一个使用框架集而不是母版页的 Web 应用程序。我想设置应用程序,以便每当我在本地使用生产连接字符串进行调试时,所有页面的背景颜色都是浅红色。
我在 StackOverflow 上遇到了一个问题,有人建议创建一个基本页面,所有页面都从该页面继承,但我需要一种动态方法,无需编辑应用程序中的每个页面类即可工作。此时切换到使用母版页不是一种选择。
有没有办法使用 global.asax 或其他方式将样式或脚本标记注入每个加载的文档的头部?
我正在开发一个使用框架集而不是母版页的 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