【问题标题】:ASP.NET MVC View information stored in a data-storeASP.NET MVC 查看存储在数据存储中的信息
【发布时间】:2011-01-14 02:39:25
【问题描述】:

我正在寻找一些关于在数据存储(数据库、文件、其他)中存储视图并根据路由数据显示它们的建议,所有这些都使用 ASP.NET MVC 2 和 ASP.NET Routing。

例如,我希望能够根据以下路线数据显示不同的视图:

/{country}/
/{country}/{area}

但同样我想展示:

/{planet}/
/{planet}/{satellite}

都是基于字符串,数据不固定。因此,可能基于段的数量,将其用作数据存储中的选择标准......此外,我可能不知道前面的段,所以它们都是动态的。

我希望我们可以在这里找到几种不同的方法,作为所有人的参考 - 我相信有些方法并不适合所有人...

那么,你会怎么做呢?


Branislav Abadjimarinov 建议了一个控制器工厂,可用于动态查找和显示页面。我喜欢这个主意,你怎么看?

【问题讨论】:

    标签: asp.net asp.net-mvc content-management-system asp.net-mvc-routing


    【解决方案1】:

    MVC 无法从这个 url 中了解选择哪个路由。您必须使路线更具体。例如:

    /行星/{行星}/{卫星}

    /国家/地区/{国家/地区}/{地区}

    您还可以选择定义自己的controller factory。控制器工厂根据路由决定要实例化哪个控制器。因此,您可以在其中添加一些自定义逻辑,例如 - 检查 {planet} 参数是否存在,如果存在则实例化 Planet 控制器,否则实例化 Country 控制器。

    【讨论】:

    • 啊,控制器工厂可以创建一个通用控制器来服务请求...我喜欢,谢谢!
    • 使用自定义控制器工厂,这对我们来说效果很好,谢谢。
    【解决方案2】:

    这个Post 对你很有帮助。

    请记住,您始终可以添加新的路由规则:)

    就像this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 2015-10-08
      相关资源
      最近更新 更多