@带有QueryString参数的Html.Action MVC 4
本文关键字:Action MVC Html 带有 QueryString 参数 | 更新日期: 2023-09-27 18:14:49
我有一个问题与MVC 4中的Html.Action有关我想把一些Querystring变量和它一起传递到Details视图
我现在的代码是
System.Text.StringBuilder MobileData = new System.Text.StringBuilder();
MobileData.AppendFormat("<a style='"text-align:left;'" data-role='"button'" onclick='"window.location='" + @Url.Action("Taken_Detail", new { id = tk.ID }) + "';'" data- ajax='"true'" data-icon='"alert'"><span class='"AgenItems'">{1:dd-MM-yyyy}</span>", tk.ID, tk.Datum);
问题是他会将我重定向到localhost/PROJECTNAME/Home/Taken_Detail/2我想要的是Home/Taken_Detail?id=2我在这里错过了什么我才刚刚开始学习MVC 4,欢迎每一个提示。
这是因为您的路由包含id
参数。从路由中删除它,Url.Action
将更改URL并将您的参数添加到查询字符串中。
示例:
routes.MapRoute("Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional });
如果使用Url.Action
指定id
参数,则该参数将放在最后一个斜杠之后。
如果你删除它:
routes.MapRoute("Default", "{controller}/{action}",
new { controller = "Home", action = "Index" });
生成的URL将具有一个包含id
的查询字符串。