我有一个按钮,其onclick功能为onclick="location.href='@Url.Action("SendRegisterLink?Email="+ item.Email, "Account")'"
按钮工作,URL构建,我有一些JS从URL中抓取“电子邮件”字段 - 但我没有得到正确的输出:
预期网址
/Account/SendRegisterLink?Email=test@test.com
实际网址
/Account/SendRegisterLink%3fEmail%3dtest%40test.com
答案 0 :(得分:2)
您需要使用
@Url.Action("SendRegisterLink, "Account", new { Email= item.Email});
答案 1 :(得分:1)
查看函数的实际参数。你可以在最新的vs中使用ctrl + click来检查它的参数。
public static string Action(this IUrlHelper helper, string action, string controller, object values);
如果您想使用Action
功能,可以使用该重载。第一个参数只需要您的操作名称作为字符串名称。所以你可以像这样使用它:
@Url.Action("SendRegisterLink", "Account", new { item.Email })
如果您想直接提及带参数的网址,可以使用Content
功能:
@Url.Content("~/Account/SendRegisterLink?Email=" + item.Email)
如果您的意图只是一个重定向,您还可以使用标签清理:
<a href="~/Account/SendRegisterLink?Email=@item.Email">My Link</a>
您始终可以更改锚标记的CSS。