2011-01-24 29 views
1

我在Web应用程序项目(而非网站)中使用ASP.NET C#。在Web应用程序中应用主题

我想为我的Web应用程序使用ASP.NET主题功能。

从我的项目的根,我能够创建一个特殊的文件夹App_Themes

Root/App_Themes --WORKS 

,但我需要有App_Themes文件夹中的不同层面,在我的情况:

Root/Cms/App_Themes --DOES NOT WOEK 

我注意到Visual Studio不允许在子文件夹中插入App_Themes。

任何想法如何解决它?

感谢您的时间

回答

2

如前所述Here on MSDN

你可以保持您的Web项目的文件中的任何文件夹结构,方便您的应用程序。为了更容易与您的应用程序工作,ASP.NET保留某些文件和文件夹的名称,您可以使用特定类型的内容


所以, 它不允许因为App_Theme文件夹是 特殊文件夹为ASP.Net和Asp.Net使用它将主题绑定到使用它的页面。
当您在@page指令中指定主题并使用 Theme="MyTheme"时,它知道从何处获取主题的资源。 它的事情安排的方式。

如果你想在另一个文件夹,然后创建一个“CMS”的文件夹,只要你想,把你的资源,在其他一些其他的文件夹名称,也再“App_Theme文件”。

同样ü不能使用其他文件夹一样App_Code文件,APP_DATA等

+0

好吧,我明白,此刻我创建了一个App_Theme文件,并用subfix CMS添加文件夹(主题)像根/ App_Themes文件/ CMS-的MyTheme /所以我可以有一个类似的深思熟虑的效果绕过这个限制。谢谢你的时间。 – GibboK 2011-01-24 10:08:59

0

我发现这篇文章中,有人设法做到这一点的。Net 2.0。

我不知道它是否仍然会工作不上。

http://www.joeaudette.com/overriding-the-location-for-app_themes.aspx

+0

我不知道它是否仍然有效,因为它的历史可追溯到2006年,但他们也无法违抗在根文件夹中创建App_Theme文件夹。他们必须在该文件夹中创建该文件夹和主题资源,然后在虚拟路径提供程序中将它们替换为某些自定义文件夹中的资源文件。但在这种情况下,他们仍然无法将App_Theme文件夹作为另一个文件夹(如“cms”)的子文件夹。 – 2011-01-24 10:14:47