首页 > 解决方案 > 用于 ASP.Net 身份帐户确认的 ASP.Net URL 页面帮助程序不会创建正确的 URL

问题描述

以下代码来自https://docs.microsoft.com/en-us/aspnet/core/security/authentication/accconfirm?view=aspnetcore-3.1&tabs=visual-studio

EmailConfirmationUrl = Url.Page(
"/Account/ConfirmEmail",
pageHandler: null,
values: new { area = "Identity", userId = userId, code = code, returnUrl = returnUrl },
protocol: Request.Scheme);

生成错误的 URL(如下)。它应该有 /Identity/Account/ConfirmEmail 作为路径。如何修复上面的代码以便获得正确的路径?

https://localhost:5001/?area=Identity&userId=d83c48d3-2715-4dc1-84d7-6e1c1cb0ae4a&code=Q2ZESjhGeERhR0hlUThoTHNqRU9iU3hLTDRJcUtaTVI0S2UrSFFMbjQvL0lhUVVkZ1dqL2dPWkVNQ3lHdGkweU5CWmdSdXM4NVE3Z0hhMWp0TWJGU0h4bFh6ZmhGVWRkNm5MbTg2VXRhTjNpTWozSUVreVlmMEdyUUF0QUJ2MVdNV0Y5aWtTRW05bGdMcXhqTk93TkoxeXNaSW9qWFhkeHN1TkNRK0lISXJnVjVIRFJNTVNaTWRDR1FjaVhoRDFXNllqcnVpYXV2ajNONlp5L1BBUnVKdzkreEt2aFh5emMxa0lhWmNJWk0zcG9DSmN2bzRwODl5Uko2NmRleVNCVUtyQnl5dz09&page=%2FAccount%2Fhttps%3A%2FBlazorWorld.com%2FAccount%2FConfirmEmail

标签: asp.netasp.net-core

解决方案


请参阅对先前提出的问题的回答本质上 Url.Page 用于 Razor 操作。Url.Action 用于 MVC。您在应用程序中使用哪种类型的页面?

如果这对您有所帮助,请务必对 Ryan 的回答投赞成票。


推荐阅读