代码之家  ›  专栏  ›  技术社区  ›  Nasser Hadjloo

如何改变Asp.net主题via网站配置在飞行中

  •  2
  • Nasser Hadjloo  · 技术社区  · 14 年前

    摘要

    问题。

    <Page> 标签。喜欢

    <page theme="Theme1" /> // or Theme2 for second customer.
    

    通过这种方法,我们可以轻松地改变应用程序的样式,而无需编写代码,因为每个代码都需要一个新的发布。

    theme="Theme1" . 什么都没有改变,我们也没有在应用程序中编写代码,那么为什么要改变呢 theme 不要改变主题,我们需要一个新的发布?

    web.config


    更新:

    我发布一次,然后为每个客户复制发布的版本(5次),然后在每个 web.config文件 我改文件了吗 theme="CustomerTheme" . 但只有在发布过程中处于活动状态的主题在5个版本中可用,其他4个主题不可用

    实际上主要的问题是为什么网站配置当它是XML时需要不同的发布,而不需要complie。我应该补充一点,App\u的主题包括所有的5个主题,这样所有的主题都可以编译并随时使用

    这就是我发布应用程序的方式

    Publish

    Photo Link


    我在这里找到了别人报告的确切问题。他解决了这个问题,但我不知道他是怎么解决这个问题的。有人能告诉我他是怎么解决这个问题的吗?

    aspnet_compiler command 告诉我了 automatically ADDS the 'theme' on the Page directive

    http://bytes.com/topic/asp-net/answers/495850-themes-web-config

    3 回复  |  直到 14 年前
        1
  •  3
  •   citronas    14 年前

    不过,我不明白你的出版方案?如果每个客户都有自己的web应用程序,为什么要更改主题?

    伪代码:(每个请求都需要执行这段代码。您可以为此编写一个HTTPHandler,或者在全球.asax. 您还需要找到哪个属性提供了必要的URL信息)

    switch(Request.URL)
    {
     case "www.customer1.com":
        Theme = "Customer1";
        break;
     case "www.customer2.com":
        Theme = "Customer2":
        break;
    }
    
        2
  •  2
  •   JamWheel    14 年前

    你发布的应用程序是预编译的吗?如果是这样,这可能就是原因。