我正在开发一个应用程序,我想要一个类似于User\1\Class\Create
的URL会映射到类控制器和Create操作,但是当我应用它时,它不会接收它。
以下是我如何注册路线(它位于列表顶部):
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}
路由。
我在路线配置上做错了什么才能不使用它?
答案 0 :(得分:0)
删除路线并重新输入以解决问题。