2011-04-29 72 views
-2

我需要创建一个路由,这样它看起来像这样:我怎样才能创建这样一个路径:/ {项目}/{MODULE_NAME}/{小节}/{ID}

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

所以在控制器/操作/ ID映射而言这将是:

controller = module_type 
action = sub-section 
id = id 

而且会有其他两个变量:

projectmodule_name,我需要。

会是什么我的路线是这样的:

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

回答

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; 
} 

然后请求URL:

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

结果是空的页面文字:

Projekt3 ModuleName 2