我有一两年前使用的代码创建一个通过电子邮件发送的激活链接,使用代码作为参数,我尝试了很多不同的方式,编码,使用其他语法,添加web.config设置<pages validateRequest="false" />
requestValidationMode="2.0"
,annotations [AllowHtml]
,在网上尝试了十几个帖子,但没有一个有效。
所以我在这里监督一些事情,我确信但我找不到解决方案。
我得到的错误是:从客户端检测到一个潜在危险的Request.Path值(?)
我使用的格式是
Url.Action("action","controller", new { Id = guidValue }, Request.Url.Scheme)
我的路由是默认值,所以这应该工作。
点击后,地址栏中的Url就是这样的:
http://localhost:52641/Account/Login?ReturnUrl=%2FAccount%2FAccountActivation%2F%3Fid%3Dfc39f53f-6fa7-43d2-b30a-8b4e20f0f237
虽然它应该给我:
http://localhost:52641/Account/AccountActivation?id=fc39f53f-6fa7-43d2-b30a-8b4e20f0f237
这里发生了什么?感谢您的任何反馈!
我从我的解决方案中删除了完整的内置身份验证(NuGet包和类)(因为我不需要它们),这使得上述案例工作原样。我不能详细说明它是什么和如何(我相信其他人可以),但我认为它与身份验证附带的路由有关。