我有以下网站结构:
(单元/子部分/页/ 1..N)
e.g.
News/Current
News/Archive
News/Current/Pages/23
News/Archive/Pages/3
如果用户访问/新闻我希望他们默认为新闻/当前,否则他们会看到上面的页面。 类似地,
Events/Latest
Events/London
Events/Latest/Pages/15
Events/Archive/Pages/4
我有新闻和事件的控制器设置但是如何创建Actions和global.asax MapRoutes来处理我的结构?
我不想为此使用区域,只需要简单的控制器和操作。一个部分的每个View都将处理一个带有来自数据库的ContentPage属性的ViewModel?
因此每个Section都有一个View,它将填充ContentPage PartialView。
由于
答案 0 :(得分:1)
你有两种选择:
Archive
和Latest
创建路线,使Pages
之后的部分成为包含该页面的参数。<强>更新强>
路线:
routes.MapRoute(
"MySuperRoute",
"{controller}/{section1}/{section2}/{id}",
new { controller = "Home", action = "TheHandlingAction", id = UrlParameter.Optional }
);
行动:
public ActionResult TheHandlingAction(string section1, string section2, int id)
{
}