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

时间:2011-04-29 01:34:29

标签: c# asp.net-mvc asp.net-mvc-3

我需要创建一条路线,看起来像这样:

 /{project}/{module_type}/{module_name}/{sub-section}/{id}

因此,就控制器/动作/ id映射而言,它将是:

controller = module_type
action = sub-section
id = id

还有另外两个变量:

我需要

projectmodule_name

我的路线会是什么样的:

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

1 个答案:

答案 0 :(得分: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
);

然后输入类似的内容:

http://localhost:12345/Projekt3/Home/ModuleName/Index/2

会让您HomeControllerIndex行动。

修改
我在HomeController中添加了新动作:

public string Echo(string project, string module_name, int id)
{
    return project + " " + module_name + " " + id;
}

然后请求网址:

http://localhost:25608/Projekt3/Home/ModuleName/Echo/2

结果是带有文字的空白页:

Projekt3 ModuleName 2