【发布时间】:2015-07-03 23:17:55
【问题描述】:
我正在处理MVC routing frame work。我对RouteCollection.MapRoute 方法采用的参数有点困惑。
如果我采用以下请求的传统示例
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
- List item
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
它与以下签名映射
public static Route MapRoute(
this RouteCollection routes,
string name,
string url,
Object defaults
)
我的问题是关于“对象默认值”,
- 为什么我们使用它作为
new { controller = "Home", action = "Index", id = "" } - 这是固定格式吗?
- 怎么能
CLR interpret sequence的参数?
跟进问题:
一个。为什么我们在括号 {} 中装饰控制器、动作或 id?
b. URL 指定和默认值之间是否有任何匹配?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-routing