1
在global.asax.cs中注册路由时,如何更改url参数的顺序?如何更改MVC3中routes.MapRoute的顺序?
我注册的路线,像这样:(注:我也有注册,以及默认的MVC3路线)
routes.MapRoute(
"SurveyWizard",
"survey/{id}/{action}",
new { id = UrlParameter.Optional, action = "AddQuestions" });
我的控制器:
public ActionResult AddQuestions(int id)
{
if(id < 1 || id == null)
//Redirect somewhere
var survey = _surveyService.GetSurveyById(id);
//other controller logic
return View(survey);
}
当我键入网址.../survey/1/AddQuestions找不到资源。当我运行路由调试器时,路由显示为有效。
这是甚至可能在MVC3?我知道在Restful WCF中,你可以像这样构造路线没问题。在我可能与{controller}/{action}/{id}一起生活的宏伟计划中,但我相信只在必要时才使用动词,在我的情况下,正确的url应该按照上面的示例进行构造。
任何想法?谢谢。
感谢CD。就是这样!我不小心从我的代码中省略了我的控制器。这是问题的默认路线的顺序。再次感谢。 – trevorc 2011-04-04 18:08:02