gpt4 book ai didi

c# - 如何通过 Web.Config 即时更改 Asp.net 主题

转载 作者:行者123 更新时间:2023-12-03 19:43:00 25 4
gpt4 key购买 nike

摘要

我有一个包含超过 5 个主题的 Web 应用程序。每个主题针对不同的客户涵盖完全不同的风格。每当我们发布应用程序的新版本时,我们都会将其发送给所有客户。

问题。

我们在 <Page> 的 web.config 文件中指定主题标签。喜欢

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

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

随着更改theme="Theme1" 。没有任何变化,我们也没有在应用程序中编写代码,那么为什么要更改 theme不更改主题,我们需要新的发布吗?

我们想在 web.config 中更改它或其他地方,并通过更改主题更改,而不需要为每个主题进行新的发布。


更新:

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

--

实际上,主要问题是为什么 Web.Config 中的更改需要不同的发布,而它是 XML 并且不需要编译。我应该添加此注释,App_Theme 包含所有 5 个主题,以便所有主题都可以编译并准备使用

--

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

Publish

Photo Link


更新2

在这里我发现了其他人报告的确切问题。他解决了问题,但我无法理解他是如何解决这个问题的。谁能告诉我他是如何解决这个问题的?

他使用了 aspnet_compiler command 并告诉 automatically ADDS the 'theme' on the Page directive

(第一篇文章是问题,最后一篇文章是答案)

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

最佳答案

如果我理解正确的话,你们为每个客户都有一个主题,并且不会改变吗?

不过,我还是不明白你的发布场景?如果每个客户都有自己的 Web 应用程序,为什么要更改主题?

尽管如此,您可以检查代码隐藏中的请求 URL 并以编程方式设置主题名称吗?

伪代码:(您需要在每个请求上执行这段代码。您可以为此编写一个 HTTPHandler,或者使用 global.asax 中的 BeginRequest 事件。您还需要找到哪个属性提供了必要的网址信息)

switch(Request.URL)
{
case "www.customer1.com":
Theme = "Customer1";
break;
case "www.customer2.com":
Theme = "Customer2":
break;
}

关于c# - 如何通过 Web.Config 即时更改 Asp.net 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3819857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com