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

ASP.NET MVC视图存储在数据存储中的信息

  •  3
  • Kieron  · 技术社区  · 15 年前

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

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

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

    但我想用同样的方式展示:

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

    所有这些都是基于字符串的,并且数据是不固定的。因此,基于段的数量,可以使用它作为数据存储中的选择标准……另外,我可能不知道前面的段,所以它们都是动态的。

    我希望我们能在这里找到一些不同的方法,作为所有人的参考-我相信有些方法不会适合每个人…

    那么,你会怎么做?


    Branislav Abadjimarinov 建议使用一个控制器工厂来进行查找并动态显示页面。我喜欢这个主意,你觉得怎么样?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Branislav Abadjimarinov Ivan Choo    15 年前

    MVC无法从该URL了解要选择的路由。你必须使路线更加具体。例如:

    /行星/行星/卫星

    /国家/地区

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

        2
  •  0
  •   SDReyes    15 年前

    这个 Post 对你很有帮助。

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

    就像 this