0

我有这些课。

Secion Repository
Section Application
Section Controller
Group Repository
Group Application
Group Controller
Class Repository
Class Application
Class Controller

我所有的控制器都有一个名为Show And these structure of entitys 的视图。 在此处输入图像描述

现在的问题是:我想当我去Class控制器时看到

Class/Show/class's group's section name/class's group name/class's name

代替

Class/Show/1

或者当我转到组控制器时,我看到

Group/Show/group's section name/group name

代替

Group/Show/1

如何?

4

1 回答 1

1

您可以定义以下路线:

routes.MapRoute(
    "ShowRoute",
    "{controller}/show/{groupsection}/{groupname}/{classname}",
    new { controller = "class", action = "show", classname= UrlParameter.Optional },                
);

需要注意的几点:

  1. 您可以选择任何控制器作为默认值(例如 controller="the_default")
  2. 您可以将所有参数声明为可选,但您需要注意代码中的空 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/
于 2013-04-17T07:42:29.107 回答