我在控制器asp.net MVC和路由
以下動作和我想有以下途徑:
~/article/ -> Action = Index, pageNumber = 1
~/article/page-5 -> Action = Index, pageNumber = 5
~/article/page-1 -> ~/article/
~/article/foo -> Action = Details, seoFriendlyName = foo
我試圖定義以下路線,但它不起作用:
routes.MapRoute(
null,
"article/page-{pageNumber}",
new { controller = "MyController", action = "Index", pageNumber = 1 },
new[] { "MyNamespace" }
);
routes.MapRoute(
null,
"article",
new { controller = "MyController", action = "Index", },
new[] { "MyNamespace" }
);
routes.MapRoute(
null,
"article/{seoFriendlyName}",
new { controller = "MyController", action = "Details", },
new[] { "MyNamespace" }
);
任何幫助將不勝感激!
如果我稱之爲'Url.Action( 「指數」, 「myController的」)''然後〜/條/ page'將被渲染,而不是'〜/ article' –
如果您希望這是'〜/ article',那麼您需要更改路線順序。另外,正如Jan建議的那樣,您應該將您的默認pageNumer設置移動到另一條路線。我馬上更新我的答案。 –
已更新答案 –