我正在开发一个Asp.net MVC项目。我遇到了重定向网址的问题。
我有这样的链接。
<a href="@Url.Content("~/Account/Login&ReturnUrl="+Url.Encode(Request.Url.PathAndQuery))">Log in</a>
您可以看到我在网址末尾添加了ReturnUrl查询值,因为我想在登录后将用户重定向到当前网址。
Request.Url.PathAndQuery返回这样的字符串
/Item/Details?name=test&id=4
当我点击链接时,它给了我错误:
请求过滤模块配置为拒绝包含双转义序列的请求。
网址值如下:
http://localhost:50489/Account/Login&ReturnUrl=%2fItem%2fDetails%3fname%3dtest%25203%26id%3d4
我无法使用Html.ActionLink,因为我需要在锚标记内添加一些html内容。
如何将当前URL传递给ReturnUrl值以登录页面?
答案 0 :(得分:1)
您的网址格式不正确。查询字符串必须以?
开头,而不是&
。
<a href="@Url.Content("~/Account/Login?ReturnUrl="+Url.Encode(Request.Url.PathAndQuery))">Log in</a>
&
用于分隔查询字符串中的查询字符串参数。