0
@Url.Action("Divisions", "Widgets", new {version = 1, eventId = Model.Event.Id, slug = Model.Event.Slug})
生成这样的:
http://localhost:2227/widgets/divisions?version=1&eventid=36295&slug=notifications
当我的路线是这样的。
routes.MapRoute(
"DefaultWidget",
"widgets/v{version}/{action}",
new { controller = "Widgets", action = "NotFound", version = 1, slug = "event"},
new { version = @"\d+" }
);
和行动是这样的WidgetsController
public virtual ActionResult Divisions(int version, int? eventId, string slug)
{
return GetDivisions(eventId, new WidgetEventViewModel(version));
}
路线应该是这样的:
http://localhost:2227/widgets/v1/divisions?eventid=36295
你'@ Url.Action()'不匹配那条路线。你期待的网址看起来像什么? – 2014-12-13 06:17:05
我想这会很聪明地添加''http:// localhost:2227/widgets/v1/divisions?eventid = 36295' – 2014-12-13 06:36:58
您还显示了'ActionResult Event()'(你的意思是'ActionResult divisions() '?你是否想要'eventid'和'slug'为查询字符串('/ widgets/v1/divisions?eventid = 36295&slug = MySlug')或'/ widgets/v1/divisions/36295/MySlug' – 2014-12-13 06:41:59