我想創建一個自定義路由來處理具有多個參數的特定網址。我已經爲global.asax添加了一個新的路由定義,但是當我嘗試導航到該操作時,我收到錯誤消息「找不到與名爲'Home'的控制器匹配的類型。」ASPNET MVC自定義路由失敗,並顯示「找不到與名爲'Home'的控制器匹配的類型。」
誰能告訴我我哪裏出錯了嗎?
的Global.asax:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "HomeDetails",
routeTemplate: "Home/Detail/{articleId}/{articleVersion}",
defaults: new { controller = "Home", action = "Detail", articleId = "0", articleVersion = "0.0" }
);
//routes.MapHttpRoute(
// name: "DefaultApi",
// routeTemplate: "api/{controller}/{id}",
// defaults: new { id = RouteParameter.Optional }
//);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
控制器:
public class HomeController : Controller
{
public ViewResult Index()
{
return View();
}
public ViewResult Detail(int articleId, decimal articleVersion)
{
// does stuff here...
return View(model);
}
}
我想打會是這樣的http://localhost/home/detail/1234/1.2
衛生署!絕對地發現。謝謝:) – Nick
...這就是爲什麼錯誤信息是作爲一個XML文檔返回... **徘徊感覺有點愚蠢** – Nick
這爲我節省了一天pjumble。我花了最近2天試圖弄清楚發生了什麼。謝謝! –