ActionLink結果「http:// localhost:5089/Article/GetArticlesByCategory?category = ASP.NET & categoryId = 2」。我想顯示鏈接類型「http:// localhost:5089/Blog/ASP.NET」。什麼是錯誤的路線命名爲「文章」。MVC 3路由問題
路線:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Article",
"Blog/{category}", //
new { controller = "Article", action = "GetArticlesByCategory", category = UrlParameter.Optional, categoryId = UrlParameter.Optional }
鏈接:
@Html.ActionLink(k.Name, "GetArticlesByCategory", "Article",
new { category = k.Name, categoryId = k.CategoryId }, null)
解決
GetArticlesByCategory參數整數的categoryId改爲>>串類別,並替換操作代碼,以新的參數(字符串類)
條路線替換爲:
routes.MapRoute(
"Category",
"Blog/{category}",
new { controller = "Article", action = "GetArticlesByCategory", category = UrlParameter.Optional }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "index", id = UrlParameter.Optional } // Parameter defaults
);
ActionLink的替換:
@Html.ActionLink(k.Name, "GetArticlesByCategory", "Article",
new { category = k.Name }, null)
自認倒黴的路線,但你的建議很好TY改變。 – ALKAN
控制器的名稱和您需要用於此路線的操作的名稱是什麼? – Brettski
controller =「Article」and action =「GetArticlesByCategory」 – ALKAN