我想添加一个新的路由路由器,以使我的应用程序执行如下所示的urls:http://domain/controller/action/parameter。现在,应用程序使urls如下所示:http://domain/controller/action?param=XXX
现在我有以下代码:
按钮操作链接:
@Html.ActionLink("Text", "Action", "Controller", new { param = "1" }, new { @class = "btn btn-primary btn-lg" })
我在RouteConfig.cs中的路由路由器是:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
为了使我的应用程序生成正确的url (http://domain/controller/action/parameter),我必须做些什么?我需要做哪些修改才能做到这一点呢?
谢谢你的进阶
发布于 2015-09-23 14:21:24
只要换到id
@Html.ActionLink("Text", "Action", "Controller", new { id = "1" }, new { @class = "btn btn-primary btn-lg" })
或维护param并更改路由配置。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{param}",
defaults: new { controller = "Home", action = "Index", param = UrlParameter.Optional }
);
发布于 2015-09-23 14:21:57
您的路由参数(param)必须与路由映射(Id)中的相同:
@Html.ActionLink("Text", "Action", "Controller", new { id = "1" }, new { @class = "btn btn-primary btn-lg" })
https://stackoverflow.com/questions/32742042
复制相似问题