如何在 link 中创建不显示控制器名称的根路由
How to create root routes without displaying controller name in link
我只是想知道是否有人可以指出正确的方向。这是我的问题:
我在 Controllers 文件夹中有一个名为 Events 的控制器,那里有一些 ActonResult 方法索引、搜索、详细信息,returns 来自
的视图
View/Events/Index,Search,Details
以及来自共享文件夹的部分视图。
现在显示那些没有控制器名称的视图的最佳方式是什么。我的索引视图现在显示为
localhosts|domain.com.../Events/Index or localhosts|domain.com.../Events/Details/1
而且我不想显示为
localhosts|domain.com... or localhosts|domain.com.../Details/1
现在,我很好奇这些更改是否会对我的 AJAX 调用产生任何影响,这些调用是:
部分js代码
@Url.Action("index", "Events"),
和
url: "@Url.Content("~/Events/MyAjaxSearch")",
data: "searchString=test&Location=test",
我的 Index 方法中也有一些参数用于 pageNum(这是为了无限分页)。
下面是我的 RouteConfig 代码:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Events", "", new { controller = "Events", action = "Index" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Events", action = "Index", id = UrlParameter.Optional });
此致!
试试这个:
routes.MapRoute(
name: "EventDetails",
url: "Details/{id}",
defaults: new { controller = "Events", action = "Details", id = UrlParameter.Optional }
);
我只是想知道是否有人可以指出正确的方向。这是我的问题:
我在 Controllers 文件夹中有一个名为 Events 的控制器,那里有一些 ActonResult 方法索引、搜索、详细信息,returns 来自
的视图View/Events/Index,Search,Details
以及来自共享文件夹的部分视图。
现在显示那些没有控制器名称的视图的最佳方式是什么。我的索引视图现在显示为
localhosts|domain.com.../Events/Index or localhosts|domain.com.../Events/Details/1
而且我不想显示为
localhosts|domain.com... or localhosts|domain.com.../Details/1
现在,我很好奇这些更改是否会对我的 AJAX 调用产生任何影响,这些调用是:
部分js代码
@Url.Action("index", "Events"),
和
url: "@Url.Content("~/Events/MyAjaxSearch")",
data: "searchString=test&Location=test",
我的 Index 方法中也有一些参数用于 pageNum(这是为了无限分页)。
下面是我的 RouteConfig 代码:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Events", "", new { controller = "Events", action = "Index" });
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Events", action = "Index", id = UrlParameter.Optional });
此致!
试试这个:
routes.MapRoute(
name: "EventDetails",
url: "Details/{id}",
defaults: new { controller = "Events", action = "Details", id = UrlParameter.Optional }
);