代码之家  ›  专栏  ›  技术社区  ›  Oundless

确定已安装的ASP.NET主题

  •  3
  • Oundless  · 技术社区  · 16 年前

    是否有一种简洁的编程方法来确定在ASP.NET应用程序中安装了哪些主题?

    我有几个ASP.NET应用程序使用名为“theme”的cookie在page preinit事件中设置主题。问题是,在我的开发环境中使用localhost时,一个应用程序的主题名称会显示给另一个应用程序,从而引发异常:

    在应用程序或全局主题目录中找不到主题“xyz”。

    我想我可以先检查一下我的应用程序要设置的主题,看看我要设置的内容是否有效——也就是说,不需要查看应用程序主题文件夹的内容。

    1 回复  |  直到 16 年前
        1
  •  5
  •   M4N    16 年前

    我认为没有办法不用看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))
    
    推荐文章