看看这段代码:
var callbackUrl = Url.Page("/Account/ConfirmEmail", null, new { userId = user.Id, code }, Request.Scheme);
结果是这样的:
注册簿来自哪里?为什么不是Account / ConfirmEmail?我确实在Account controller的Register方法中创建了这个函数,所以我想寄存器来自那里,但是为什么它使用了它而不是传入的?我确实看到它在最后添加了它作为参数,但是为什么呢?
据我所知,我做对了。
我仍在使用核心2.1。
编辑:他们的注册教程说的和我上面讲的一样:
如果我使用.Action
而不是.Page
,我会得到理想的结果,但是我想知道为什么.Page
的行为有所不同。
答案 0 :(得分:0)
它们全都用于生成url,但是,Url.Action
用于MVC,Url.Page
用于Razor页面。您在帐户控制器中使用需要Url.Action
的代码。>
请参阅Url Generation for controller/action和Url Generation for pages
在asp.net core 2.0中,scaffold Identity使用MVC,而在asp.net core 2.1+中,它使用Razor Pages。