【问题标题】:Getting project web page names as an enumeration in asp.net在 asp.net 中获取项目网页名称作为枚举
【发布时间】:2009-02-05 21:28:53
【问题描述】:

我知道,在标记视图中,Visual Studio 将为您提供项目中所有页面名称的枚举(添加一个元素,并在指定 ImageUrl 属性时查看您从 Intellisense 获得的内容)。

我的问题是:我如何获得该枚举?

如果这不可能,那么在 asp.net 中获取页面名称的最佳方法是什么,而不必在所有地方硬编码字符串?例如,我希望能够做这样的事情:

Response.Redirect(PageNames.Default);

(其中 PageNames 是某种枚举)

这可能吗?提前致谢!

【问题讨论】:

    标签: asp.net visual-studio


    【解决方案1】:

    这里有一个建议...

    手动或通过读取Site Navigation 文件定义一个包含所需页面的类:

    static class PageNames
    {
        public static string Default = "~/Default.aspx";
        public static string Contact = "~/Contact.aspx";
        public static string About = "~/About.aspx";
    }
    

    您可以通过调用属性名称来使用该类:

    Response.Redirect(PageNames.Default);
    

    【讨论】:

      【解决方案2】:

      另一个选项,我已经看过但尚未尝试过(可能下周可能):
      http://blog.devarchive.net/2008/01/auto-generate-strong-typed-navigation.html

      看起来很酷,使用 T4 模板生成强类型导航层次结构。

      【讨论】:

      • 感谢您的回复;我绝对认为这是一个聪明的解决方案。抱歉耽搁了……我以访客用户的身份提出了这个问题,直到现在我才能接受你的回答。
      猜你喜欢
      • 2019-01-11
      • 1970-01-01
      • 1970-01-01
      • 2012-12-28
      • 2013-08-09
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多