如何创建路径,例如:/ {project}/{module_name}/{sub-section}/{id}

Bla*_*man -2 c# asp.net-mvc asp.net-mvc-3

我需要创建一个路由,看起来像这样:

 /{project}/{module_type}/{module_name}/{sub-section}/{id}
Run Code Online (Sandbox Code Playgroud)

所以在控制器/动作/ id映射方面,它将是:

controller = module_type
action = sub-section
id = id
Run Code Online (Sandbox Code Playgroud)

还有另外两个变量:

project而且module_name我需要.

我的路线会是什么样子:

我使用的是最新版本的MVC(MVC3)

Dam*_*amb 5

我不知道你的意图是什么,但试试这个:

routes.MapRoute(
    "NewOne", // Route name
    "{project}/{controller}/{module_name}/{action}/{id}", // URL with parameters
    new
    {
        controller = "Default",
        action = "Index",
        id = UrlParameter.Optional,
        project = UrlParameter.Optional,
        module_name = UrlParameter.Optional
    } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)

然后键入以下内容:

http://localhost:12345/Projekt3/Home/ModuleName/Index/2
Run Code Online (Sandbox Code Playgroud)

会让你HomeControllerIndex行动.

编辑:
我在HomeController中添加了新动作:

public string Echo(string project, string module_name, int id)
{
    return project + " " + module_name + " " + id;
}
Run Code Online (Sandbox Code Playgroud)

然后请求url:

http://localhost:25608/Projekt3/Home/ModuleName/Echo/2
Run Code Online (Sandbox Code Playgroud)

结果是带有文本的空白页面:

Projekt3 ModuleName 2
Run Code Online (Sandbox Code Playgroud)