3

我正在寻找关于在数据存储(数据库,文件,其他)中存储视图的一些建议,并基于路由数据显示它们,全部使用ASP.NET MVC 2和ASP.NET路由。ASP.NET MVC查看存储在数据存储中的信息

例如,我想能够显示基于以下路线数据不同的看法:

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

但同样我想显示:

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

全部基于字符串,数据不固定。因此,根据细分的数量,可以将其用作数据存储的选择标准......此外,我可能不会预先知道细分,因此它们都是动态的。

,我希望我们能得到一些不同的方法在这里汇聚,作为一种参考的所有 - 我敢肯定,一些方法将不适合每一个人......

那么,你将如何做它?


Branislav Abadjimarinov建议其可以用来做查询和动态显示页面控制器工厂。我喜欢这个想法,你怎么看?

回答

1

没有办法对MVC从这个网址的选择哪条路线理解。你必须使路线更具体。例如:

/地球/行星{}/{}卫星

/国家/ {国家}/{}面积

您还可以定义自己的controller factory的选项。控制器工厂根据路线决定要实例化哪个控制器。所以你可以在其中放入一些自定义逻辑 - 检查{planet}参数是否存在,如果是,则实例化Planet控制器,否则实例化Countries控制器。

+1

啊,所以控制器工厂可以创建一个通用控制器来满足请求...我喜欢,谢谢! – Kieron

+1

与自定义控制器工厂,我们工作得很好,谢谢。 – Kieron

0

Post可能真的对你有帮助。

记住,你总是可以添加新的路由规则:)

就像this