是否有一种简洁的编程方法来确定在ASP.NET应用程序中安装了哪些主题?
我有几个ASP.NET应用程序使用名为“theme”的cookie在page preinit事件中设置主题。问题是,在我的开发环境中使用localhost时,一个应用程序的主题名称会显示给另一个应用程序,从而引发异常:
在应用程序或全局主题目录中找不到主题“xyz”。
我想我可以先检查一下我的应用程序要设置的主题,看看我要设置的内容是否有效——也就是说,不需要查看应用程序主题文件夹的内容。
我认为没有办法不用看app_themes文件夹就可以做到这一点。
但是你可以很容易地列出现有的主题,比如:
DirectoryInfo themes = new DirectoryInfo(Server.MapPath("~/App_Themes")); foreach (DirectoryInfo theme in themes.GetDirectories()) { string themeName = theme.Name; }
或者检查给定主题是否存在:
Directory.Exists(Server.MapPath("~/App_Themes/" + theTheme))