Asp.net mvc 3 如何在ASP.NETMVC中创建具有相同控制器方法的自定义URL
我有这些课程Asp.net mvc 3 如何在ASP.NETMVC中创建具有相同控制器方法的自定义URL,asp.net-mvc-3,url-routing,Asp.net Mvc 3,Url Routing,我有这些课程 Secion Repository Section Application Section Controller Group Repository Group Application Group Controller Class Repository Class Application Class Controller 我所有的控制器都有一个名为“显示”的视图 以及这些实体的结构。 现在的问题是: 我想在我进入类时看到控制器 Class/Show/class's group's
Secion Repository
Section Application
Section Controller
Group Repository
Group Application
Group Controller
Class Repository
Class Application
Class Controller
我所有的控制器都有一个名为“显示”的视图
以及这些实体的结构。
现在的问题是:
我想在我进入类时看到控制器
Class/Show/class's group's section name/class's group name/class's name
Group/Show/group's section name/group name
而不是
Class/Show/1
Group/Show/1
或者,当我转到组控制器时,我看到
Class/Show/class's group's section name/class's group name/class's name
Group/Show/group's section name/group name
而不是
Class/Show/1
Group/Show/1
如何定义?您可以定义以下路线:
routes.MapRoute(
"ShowRoute",
"{controller}/show/{groupsection}/{groupname}/{classname}",
new { controller = "class", action = "show", classname= UrlParameter.Optional },
);
需要注意的几点:
您可以选择任何控制器作为默认控制器(例如controller=“the_default”)
您可以将所有参数声明为可选参数,但需要注意代码中的null arg值
然后,您可以这样定义控制器方法:
public ActionResult Show(string groupsection, string groupname, string classname) {
}
然后有以下要求:
http://your_domain/class/group1-section5/group1/class-obedient
http://your_domain/group/group1-section5/group1/