我正在使用.NET身份验证,应用程序(Razor Pages)没有确认帐户,因为代码为空,但它存在于链接中,为什么?
the code is null
code exists in the link i received
我部署数据库和应用程序免费托管,因为我认为这是原因,但事实并非如此。
& is not exist in 'callbackUrl'
& is exist in 'confirmCode'
我觉得问题在这里:var confirmCode = HtmlEncoder.Default.Encode(callbackUrl);
2条答案
按热度按时间yxyvkwin1#
我觉得问题在这里:
var confirmCode = HtmlEncoder.Default.Encode(callbackUrl);
是的。HTML编码用于编码HTML以在网页中显示。它将HTML字符转换为它们的实体(例如
<
变为<
,&
变为&
),这样您就不会将实际的HTML嵌入到页面中。在对URL进行编码时,应该使用
WebUtility.UrlEncode
方法:https://learn.microsoft.com/en-us/dotnet/api/system.net.webutility.urlencode?view=net-7.0,那么像&
这样的URL安全字符就不会被改变,并且模型绑定器可以正确地理解查询字符串。vlurs2pr2#
我删除了这个代码:
var confirmCode = HtmlEncoder.Default.Encode(callbackUrl);
并发送“callbackUrl”而不是“confirmCode”。