Asp.net 主题在运行时被引用但未使用

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

我有一个使用主题的网站。根据url(如果是A.something.com或B.something.com,其中A和B代表客户端),我将加载不同的主题。目的是为不同的客户机使用一个代码库。我有一个app_themes文件夹,里面有几个主题,用于不同的客户端,每个主题都有不同的CSS文件(出于商业原因,每个主题的CSS文件都是相同的,但重复)。因此,我的代码如下所示:

Public将属性StyleSheetTheme()重写为字符串

    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文件