c# - 操作 链接到 "lose"参数

标签 c# asp.net-mvc asp.net-mvc-routing actionlink

我有以下路线:

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 } 
        );

以下(希望是显而易见的)链接均有效:

  • / session /testconf
  • /Conference/testconf/ShowSubmissions
  • /Conference/testconf/Submission/firstSub
  • /Conference/testconf/Submission/firstSub/EditSubmission

当我现在处于 Submission/firstSub 并创建一个像这样的 ActionLink

@Html.ActionLink("Show Submissions", "ShowSubmissions", "Conference", new { shortName = Model.confereceShortName },null)

它创建以下链接

  • /Conference/testconf/Submission/firstSub/ShowSubmissions

我怎样才能让actionlink忘记Submission/firstSub而不在那里硬编码它?

最佳答案

{controller} 的占位符在哪里?

默认路由应如以下示例所示。

 routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{*id}", // URL with parameters
                new {controller = "Home", action = "Index", id = UrlParameter.Optional} // Parameter defaults
                );

还尝试删除第一条 route 的/Submission/部分。 有关自定义路线创建和排序的帖子链接:

1) Creating Custom Routes (C#)

2) Custom routing for ASP .NET MVC

3) official source from asp.net mvc

关于c# - 操作 链接到 "lose"参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096561/

相关文章:

c# - RedirectToAction 没有按预期刷新页面

c# - 以不同格式复制和粘贴

asp.net - 没有 Entity Framework 的带有 mvc 的存储库模式

c# - 当您将空模型传递给 View 时,MVC 页面加载速度是否更快?

asp.net-mvc - ASP.NET MVC 3 区分大小写的 URL

c# - 具有不同签名的 Controller 操作方法

c# - 尝试从控制台应用程序访问Azure存储并收到异常 "Configuration system failed to initialize"

c# - Newbie Q 关于使用引用和泛型

c# - 计算在 asp.net mvc 中查看的项目数

c# - 如何以与 stackoverflow 相同的方式路由 URL