我看了一下开发都是
新建一个Controller然后再添加action
他的效果就像
父级
子级适合用于
首页 --根
--产品列表 --Controller
----产品明细 --Action
------------------------------------但我们一般网站的结构是比较复杂的如
CSDN --根
---社区论坛 --??
-----.NET技术区 --??
--------ASP.NET --Controller
----------我的贴子 --Action
---------------------------------------
那像上面这样的多级用ASP.NET MVC要怎么来做呢谢谢
新建一个Controller然后再添加action
他的效果就像
父级
子级适合用于
首页 --根
--产品列表 --Controller
----产品明细 --Action
------------------------------------但我们一般网站的结构是比较复杂的如
CSDN --根
---社区论坛 --??
-----.NET技术区 --??
--------ASP.NET --Controller
----------我的贴子 --Action
---------------------------------------
那像上面这样的多级用ASP.NET MVC要怎么来做呢谢谢
Controller 是Class action 是 Method Controller 与View 是一多一 或 一对多的 关系
看完这两张图,可能更容易理解一些
就是因为这样,我要建立的的第三层的时候没有办法给他建立Action
如:
View
Validation --Controller
Required -- ?? 这是Controller的再次分类
Test.aspx --Action
-------------
那CS如何来定义他的Action能让我的地址
/Valdation/Required/Test
访问那个页面呢?
---社区论坛 --??
-----.NET技术区 --??
--------ASP.NET --Controller
----------我的贴子 --Action
--------------------------------------- 这种级别是动态的,一般数据库对应了一个表保存id和parentID。
mcv的view不一样要按照这样的树型结构来展现。
完全可以在urlRouting中配置。
我一般是把url的规则加载到一个Dictionary<>字典中
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);这个是默认的规则
你可以自定义规则
但要加在默认规则的上面routes.MapRoute(
"Custom", // Route name
"{Folder}/{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);这样你就可以 定制 controller 分别匹配那个了