【发布时间】:2013-06-30 15:32:30
【问题描述】:
我正在制作 asp.net mvc 应用程序,我有下一个问题。例如,我需要生成这样的 URL,www.something.com/abc,其中 abc 是产品 ID,www.something.com/def,其中 def 是公司 ID。
有人可以向我展示一些带有这样的路由链接的代码吗?
@Html.RouteLink("Sample link 1", "routeName 1",
new {controller = "Home", action = "action name 1", parameter="abc" })
@Html.RouteLink("Sample link 2", "routeName 2",
new {controller = "Home", action = "action name 2", parameter="def" })
只是为了澄清我的问题,例如:
这是路由系统
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "aaaaa",
url: "{id}",
defaults: new { controller = "Home2", action = "Index2" }
);
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "bbbb",
url: "{id}",
defaults: new { controller = "Home3", action = "Index2" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
这些是路由链接
@Html.RouteLink("bbbb", "aaaaa",new { id = 555 })
@Html.RouteLink("bbbb", "bbbb", new { id = 6666666, controller="Home3"})
他们都将我重定向到同一个动作控制器 home2 和动作 Index2。
但我指定了首先使用“aaaaa”和第二个使用“bbbb”的路线
我还在第二个中指定了不同的控制器。
【问题讨论】:
-
路由引擎如何将产品与没有控制器的公司区分开来?它不会使网址混乱吗?
-
如果
www.something.com/abc是产品,www.something.com/def是公司,那么www.something.com/ghi是什么?是产品还是公司? -
我想从 html.routelink 中按名称调用路由
-
VirtuoZ,这是您提出的相同问题,我像 Darin Dimitrov 一样回答了您。 stackoverflow.com/questions/17388972/map-route-asp-net-mvc/…
标签: asp.net-mvc url seo