为什么第一条路线被第二条跳过?第一条路线具有第二条路线的基本控制器类,因此小部件继承了事件,但我的事件“注册”方法不断受到打击。
网址
Widgets/v1/RegistrationWidget?eventid=3762
路线
routes.MapRouteLowercase(
"DefaultWidget",
"widgets/v{version}/{action}widget",
new { controller = "Widgets", action = "NotFound", version = 1, slug="event" },
new { version = @"\d+" }
);
routes.MapRouteLowercase(
"NamedEvent",
"{Id}/{slug}/{action}",
new { controller = "Event", action = "Index", slug = "event" },
new { Id = @"\d+" }
);
小部件控制器
public partial class WidgetsController : EventController
{
public virtual ActionResult RegistrationWidget(int version, int? eventId, string slug, int? divisionTeamId = null, int? divisionId = null)
{
return GetRegistration(eventId, divisionId, divisionTeamId, new WidgetRegistrationViewModel(version));
}
事件控制器
public partial class EventController : SiteController
{
public virtual ActionResult Registration(int? id, string slug, int? divisionTeamId = null, int? divisionId = null)
{
return GetRegistration(id, divisionTeamId, divisionTeamId, new EventRegistrationViewModel());
}