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)
我不知道你的意图是什么,但试试这个:
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)
会让你HomeController和Index行动.
编辑:
我在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)