Asp.net 主题在运行时被引用但未使用
我有一个使用主题的网站。根据url(如果是A.something.com或B.something.com,其中A和B代表客户端),我将加载不同的主题。目的是为不同的客户机使用一个代码库。我有一个app_themes文件夹,里面有几个主题,用于不同的客户端,每个主题都有不同的CSS文件(出于商业原因,每个主题的CSS文件都是相同的,但重复)。因此,我的代码如下所示: Public将属性StyleSheetTheme()重写为字符串Asp.net 主题在运行时被引用但未使用,asp.net,Asp.net,我有一个使用主题的网站。根据url(如果是A.something.com或B.something.com,其中A和B代表客户端),我将加载不同的主题。目的是为不同的客户机使用一个代码库。我有一个app_themes文件夹,里面有几个主题,用于不同的客户端,每个主题都有不同的CSS文件(出于商业原因,每个主题的CSS文件都是相同的,但重复)。因此,我的代码如下所示: Public将属性StyleSheetTheme()重写为字符串 Get Dim myHost As Str
Get
Dim myHost As String = Request.Url.Host
Return myHost
End Get
Set(ByVal value As String)
End Set
End Property
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
If Request.Url.Host.Contains("Savills") Then
Page.Theme = "Savills"
ElseIf Request.Url.Host.Contains("localhost") Then
Page.Theme = "localhost"
ElseIf Request.Url.Host.Contains("test.concepglobal.com") Then
Page.Theme = "test.concepglobal.com"
ElseIf Request.Url.Host.Contains("concepglobal") Then
Page.Theme = "concepglobal"
End If
End Sub
我的应用程序主题文件夹结构:
应用程序主题:
本地主机:
Default.css
第一太平戴维斯
第一太平戴维斯
但是,每次我加载站点时,css都不会被拾取。所以我没有得到我在css中设计的h1样式(它在那里),只有在aspx页面中指定的图形
运行站点时我的源代码:
(在该url加载站点)
令人困惑的是,还有另一个链接指向同一个css:
我做错了什么
谢谢只有在Visual Studio中运行代码时才会发生这种情况吗 在ASP.Net Development Server中运行时,App_主题中的样式将不会用于任何未经验证的页面(如Login.aspx或ForgotPassword.aspx)。这是因为用户还没有该文件夹的浏览权限,或者App_Themes文件夹缺少浏览权限。显然,IIS处理了这个问题,但卡西尼号没有 尝试将其添加到web.config,以便在身份验证之前让主题和样式工作
<location path="App_Themes">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
或者,如果可能,切换到在计算机上的IIS上运行应用程序 您可以通过web.config指定应用程序(或文件夹)使用的主题,而不是通过代码执行此操作:
<system.web>
<pages theme="concepglobal"></pages>
</system.web>
这假设每个客户端都有不同的web.config文件