Exi*_*tos 3 asp.net-mvc asp.net-mvc-routing asp.net-mvc-3
我正在设置我的路线与MVC项目,但我对花括号有点困惑...
如果我有...
routes.MapRoute( "Music", "Music/{name}", new { } );
Run Code Online (Sandbox Code Playgroud)
围绕名称的花括号的目的是什么,这是否会传递给某些东西?或者,如果我传递默认对象,这会映射到什么?
它们是路由请求中使用的参数名称.例如,默认路由定义了其中三个:
{controller}/{action}/{id}
Run Code Online (Sandbox Code Playgroud)
controller和action参数用于查找控制器操作.id参数可以用作这些操作的输入.
定义自定义路径时,必须提供controller和action参数.如果未在URL中定义它们,则应提供默认值,以便MVC知道请求与该路由匹配时要运行的操作.
routes.MapRoute("Music",
"Music/{name}",
new { controller="Music", action="SomeAction" });
Run Code Online (Sandbox Code Playgroud)
像其他参数id或name你这样定义可以用来提供输入的动作.在您的示例中,name参数将传递给匹配的操作,如下所示:
public ActionResult SomeAction(string name)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)