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