我想从我的MVC应用程序Razor视图中生成一个URL,其中将包含多个参数输入,例如:example.com/Index?id=1&bool=true
我已经尝试过:@Url.Action("Index?id=1&bool=true", "MyController")
,但这根本不起作用。
我想问一下是否有什么想法可以像上面的示例那样获得输出?预先谢谢你。
答案 0 :(得分:0)
请尝试将输入保存在隐藏字段中,以便在导航至其他页面时,数据将自动通过查询字符串发送。例如
@Html.Hidden("Id", Model.Id);
该ID将在查询字符串中发送
答案 1 :(得分:0)
您将需要更改默认路线RouteConfig.cs
:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
使用
routes.MapRoute(
name: "Default",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
然后使用您的URL.Action
:
@Url.Action("Index", "ControllerName", new { id = 1, @bool = true })