我有以下途径:行动链接到 “丢失” 参数
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(null,"Conference/{shortName}/Submission/{submission}/{action}", new { controller = "Conference", action = "Show" });
routes.MapRoute(null,"Conference/{shortName}/{action}",new { controller = "Conference", action = "Index" });
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
这些都是遵循以下(希望明显)链接:
- /会议/ testconf
- /Conference/testconf/ShowSubmissions
- /Conference/testconf/Submission/firstSub
- /Conference/testconf/Submission/firstSub/EditSubm ission
当我现在在提交/ firstSub,创建这样
@Html.ActionLink("Show Submissions", "ShowSubmissions", "Conference", new { shortName = Model.confereceShortName },null)
一个ActionLink的它会创建下列链接
- /会议/ testconf /提交/ firstSub/ShowSubmissions
我该如何让行动链接忘记提交/ firstSub没有硬编码它回覆?
我的两个途径是忽略和您发布的默认路由,应该提到,之间。我只想让会议控制器处理这两个请求。链接应该看起来像/ Conference/confID/Submission/subID或/ Conference/confID。 链接正在工作,我只想要从/ conf/confid/sub/subid到/ conf/confid的“后退”按钮。 – Vulcano
如上所述,尝试重新选择可能确实有所帮助的路线。也看看我的答案,这将有助于自定义路线链接。 –
重新排序我的actionLink生成以下链接/会议/ testconf /显示?提交= firstSub(导致第一个匹配现在)。关于你的链接,我已经创建了我的自定义路由,现在我的主要问题是从一个子路由到一个主路由。我也在我的问题中编辑了我的其他路线图。 – Vulcano