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