0
我正在一個應用程序,我想這樣的網址User\1\Class\Create
將映射到類控制器和創建操作,但是當我應用它,它不會拿起它。MVC路線沒有被使用,當它應該
下面是我怎麼有路線註冊(它是在列表的頂部):
routes.MapRoute(
name: "UserClass",
url: "User/{userId}/Class/Create",
defaults: new { controller = "Class", action = "Create", userId= "" },
constraints: new { userId= @"\d+" }
);
(我也嘗試過通過省略userId=""
默認)
這是搭配此代碼:
public class ClassController : BaseController
{
public ActionResult Create(int userId)
{
var vm = new ClassEditorViewModel
{
Class = new Class { UserId = userId },
ClassEnrollmentStatuses = new SelectList(Db.ClassEnrollmentStatuses.ToList(), "Id", "Name")
};
return View(vm);
}
}
但這不起作用。當我使用Route Debugger(由Phil Haack設計)時,它不使用上述路由並選擇{*catchall}
路由。
我在做什麼錯誤的路由配置,使其不被使用?
你的路線順序是什麼?這條路線是否在默認路線上? –
你是否真正地導航到* User/1/Class/Create *或者你是否點擊了創建的鏈接。在後者的情況下,你如何創建網址? – asymptoticFault
@ Andrey.Gubal這條路線位於列表的最上方,最具體到最具體的是我如何訂購它們。 – Justin