如何从视图调用 MVC 路由
本文关键字:MVC 路由 调用 视图 | 更新日期: 2023-09-27 18:30:22
>我遇到了在当前URL上添加URL的问题,例如:本地主机/配置 -> 本地主机/配置/配置文件通过调用@Html.ActionLink(Resources.General.Achievements, "Index", "Profile")
当我真正想要的是:本地主机/配置文件
我知道使用 MVC 路由可以做到这一点,但我只是不知道如何从视图中调用它们。我使用了 Html.BeginRouteForm,但此路由不会在提交时触发。
这是我的路由配置
routes.MapRoute(
name: "Profile",
url: "Profile/{id}",
defaults: new { controller = "Profile", action = "Index" },
namespaces: new[] { "Cobalt.Controllers" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Cobalt.Controllers" }
);
我正在尝试访问根目录中的配置文件控制器和索引操作。我同时拥有配置和管理区域,在回调根目录中的控制器时,我试图从中转义。
提前感谢您的任何帮助
在
处理区域时,如果要从一个区域移动到另一个区域或从区域移动到根区域,可以使用 ActionLink 的重载,它允许您指定路由数据并将空字符串(或适当的区域名称)传递到区域:
@Html.ActionLink(Resources.General.Achievements, "Index", "Profile", new { area = string.Empty })
使用 RouteLink:
@Html.RouteLink(Resources.General.Achievements, "Profile", new { id = "1234" })
请注意,由于您的"id"参数未在配置文件路由上声明为可选参数,因此除非您提供它,否则它不会匹配。