gpt4 book ai didi

c# - Url.Page 创建错误的 url

转载 作者:行者123 更新时间:2023-12-04 12:41:48 25 4
gpt4 key购买 nike

看看这个代码:

var callbackUrl = Url.Page("/Account/ConfirmEmail", null, new { userId = user.Id, code }, Request.Scheme);

结果是这样的:

http://localhost:5000/Account/Register?userId=614d16ae-4e95-4796-8d67-cb829e12585b&code=CfDJ8OeNFdnFCrtCsRU7ofatUuROudlTo%2BFQe84oAiL%2BPJSoYwGH9q1Xadg8XBbpOFg5DiRH1vDoGeQ8l3qIFHjB3NMM3ZDTlQexawj1b%2BJ7P6X3SHoBsYs7jLYwcfGQCbnk1SJA5koFkoDcWj04nsjzQlJMe8ttR0DFdi%2B6TTbWI8WkPBaS083O3aU%2BL2bbYGNwwikhrkbB0nHy4PRzK1LZuZo%3D&page=%2FAccount%2FConfirmEmail



注册表从哪里来?为什么不是 Account/ConfirmEmail?我确实在 Account Controller 的 Register 方法中创建了它,所以我想 register 来自那里,但为什么它使用它而不是我传入的?我确实看到它在最后添加了它作为参数,但为什么呢?

据我所知,根据this,我做对了。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.urlhelperextensions.page?view=aspnetcore-2.1#Microsoft_AspNetCore_Mvc_UrlHelperExtensions_Page_Microsoft_AspNetCore_Mvc_IUrlHelper_System_String_System_String_System_Object_System_String_System_String_

我仍在使用核心 2.1。

编辑:他们的注册教程和我上面说的一样:

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-2.1&tabs=visual-studio#scaffold-register-login-and-logout

如果我使用 .Action而不是 .Page我得到了我想要的结果,但我想知道为什么 .Page行为不同。

最佳答案

它们都是用来生成url的,然而,Url.Action适用于 MVC 和 Url.Page用于 Razor 页面。您使用帐户 Controller 中的代码 Url.Action需要。

引用 Url Generation for controller/actionUrl Generation for pages

在 asp.net core 2.0 中,scaffold Identity 使用 MVC,而在 asp.net core 2.1+ 中,它使用 Razor Pages。

关于c# - Url.Page 创建错误的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54620262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com