URL路由和actionmethod关系 - asp mvc

时间:2012-01-12 22:31:46

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

如果我想像这样制作网址:

www.site.com/UK/London/Jobs/98767

路由网址如下:

...
"{countryCode}/{city}/Jobs/{jobId}"
...

所以这里我需要4个参数来构建这个url。 每当我打电话时,我是否应该在行动方法中拥有所有这四个参数?

1 个答案:

答案 0 :(得分:2)

如果您正在注册这样的路线:

routes.MapRoute(
    "Default",
    "{countryCode}/{city}/Jobs/{jobId}}",
    new { controller = "Home", action = "Jobs"}
);

您的行动需要3个参数:

public ActionResult Jobs(string countryCode, string city, int jobId)
{
    ...
}

第3个参数“Jobs”用于匹配路由,作为参数传入没有意义。