0
我有一個用於創建實體的MVC頁面。完成後,我想重定向到父實體。我不喜歡這樣寫道:使ASP.NET MVC像一個其他參數一樣處理一個名爲「id」的路由參數
return RedirectToAction("Edit", new { id = vm.Parent });
當我使用任何其他參數名稱,它被解釋爲一個URL PARAM:
return RedirectToAction("Edit", new { foo = vm.Parent });
呈現爲/Entities/Edit?foo=234
但ASP MVC拿起路線作爲特殊情況,名爲id
的param的URL如下所示:/Entities/Edit/234
。這對我來說不起作用,因爲路由沒有設置爲與此一起工作。我正在尋找像/Entities/Edit?id=234
這樣的網址。
我該如何強制它以這種方式工作?路由設置:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
在您的路由配置中,查找看起來像這樣的映射路由'「{controller}/{動作}/{id}「'並將詳細信息添加到您的問題中。 – spender
您是否使用默認路由? –
@spender添加路線設置 – Johanes