在我的web.config中我使用以下页面声明
<pages maintainScrollPositionOnPostBack="true" Theme="Theme1">
旨在能够在Web应用程序上使用不同的主题来自定义它为少数不同客户端显示的方式(其中一些客户希望在Web应用程序的页面上显示自己的品牌)
如果我在开发代码中省略了主题指令,它在调试时无法正常显示,所以我想在web.config中定义主题...但是当它定义如上并且我去了每个.aspx页面声明都发布我的解决方案:
<%@ Page Language="VB" CodeFile="MRSHome.aspx.vb"%>
到此:
<%@ page language="VB" inherits="App_Web_peiwi24o" theme="Theme1" maintainScrollPositionOnPostBack="true" %>
和页面级主题声明覆盖了web.config文件中设置的那些,我需要保持这种情况,因为一些页面在用户需要时以编程方式切换到打印友好主题。
如何防止在编译期间将web.configs页面设置附加到每个页面的页面声明中?
答案 0 :(得分:0)
您可以在webconfig中添加appsettings,而不是在web.config页面声明中声明主题:
<appSettings>
<add key="MyCustomTheme" value="Theme1" />
</appSettings>
在表单PreInit中,您可以设置页面的主题:
Protected Sub WebForm1_PreInit(sender As Object, e As EventArgs) Handles Me.PreInit
Dim myTheme As String = ConfigurationManager.AppSettings("MyCustomTheme")
Page.Theme = myTheme
End Sub
因此,在部署时,您的页面声明将不包含任何主题。在运行时,它将拾取config中定义的正确主题。