ASP.NET Core-类似于MVC的脚手架标识

时间:2018-11-19 03:24:03

标签: razor asp.net-core asp.net-core-mvc asp.net-identity

我创建了一个具有“个人用户帐户”身份验证的Web应用程序MVC项目。

之后,我创建了一个自定义UserIdentity。我试图更改“身份”的默认“注册”视图,以添加新字段,但是我只能将新页面作为“剃刀页面”设置为脚手架。

我的问题是:是否可以像MVC这样的结构支持这些新视图?我根本不想将MVC与Razor Pages混在一起。

如果这不可能,有什么办法可以创建一个覆盖默认行为(例如,身份/帐户/注册)的控制器?

3 个答案:

答案 0 :(得分:2)

对于任何想要在MVC上“支持”身份的人,我建议采用以下方法:

转到官方身份ASP.net Github存储库(https://github.com/aspnet/Identity)并下载。打开解决方案,并搜索IdentitySample.Mvc项目。将必要的文件复制到您的项目中。

重要提示::不要忘记更改所添加文件的名称空间,因为它们属于不同的项目。

答案 1 :(得分:0)

否,这是不可能的。身份团队决定切换到默认页面UI的“剃刀页面”,现在一切已完成。如果愿意,您可以手动创建控制器和视图,并从脚手架的Razor Pages中引用代码以在MVC中创建相同的东西,但是就在您身上。没有自动的方法。

答案 2 :(得分:-1)

  

是否可以像MVC这样的结构支撑这些新视图?

我不确定,因为当您生成一些脚手架项目时,该项目应位于文件夹Areas/Identity/Pages/Account/...中。但是我知道一种覆盖Identity/Account/Registerusers/register这样的路径的方法。

您可以打开文件Register.cshtml,并将@page替换为@page "/users/register"

与登录页面相同,将文件@page中的@page "/users/login"替换为Login.cshtml。完成。


您需要做的所有其他事情是:根据需要更改样式,无需将所有文件移动到/Views/Users。浪费你的时间。

在某些控制器中,当您需要重定向到注册页面时,可以尝试:

Redirect("/users/register");