Razor ASP.NET核心-类似MVC的脚手架标识

Razor ASP.NET核心-类似MVC的脚手架标识,razor,asp.net-core,asp.net-core-mvc,asp.net-identity,Razor,Asp.net Core,Asp.net Core Mvc,Asp.net Identity,我已经创建了一个带有个人用户帐户身份验证的Web应用程序MVC项目 之后,我创建了一个自定义用户标识。我试图通过添加我的新字段来更改默认的标识“注册”视图,但是我只设法将新页面构建为Razor页面 我的问题是:有可能在MVC这样的结构中构建这些新视图吗?我根本不想把MVC和Razor页面混在一起 如果不可能,是否有任何方法可以创建覆盖默认行为(例如标识/帐户/注册)的控制器?不可能。身份团队决定切换到Razor页面作为默认UI,现在就只有这些了。如果您愿意,您可以手动创建控制器和视图,引用搭建的

我已经创建了一个带有个人用户帐户身份验证的Web应用程序MVC项目

之后,我创建了一个自定义用户标识。我试图通过添加我的新字段来更改默认的标识“注册”视图,但是我只设法将新页面构建为Razor页面


我的问题是:有可能在MVC这样的结构中构建这些新视图吗?我根本不想把MVC和Razor页面混在一起


如果不可能,是否有任何方法可以创建覆盖默认行为(例如标识/帐户/注册)的控制器?

不可能。身份团队决定切换到Razor页面作为默认UI,现在就只有这些了。如果您愿意,您可以手动创建控制器和视图,引用搭建的Razor页面中的代码,在MVC中创建相同的东西,但这取决于您自己。没有自动的方法可以做到这一点。

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

转到官方标识ASP.net Github存储库()并下载它。打开解决方案并搜索IdentitySample.Mvc项目。将必要的文件复制到项目中


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

“我不想将MVC与Razor页面混合使用”-为什么不?他们没有冲突。事实上,Razor Pages是(构建在)MVC之上的。这正是我现在正在做的事情,正如PM所说,“它会让其他开发人员感到困惑”,如果我们到处都有MVC,洋葱架构,突然所有的身份信息都在Razor Pages中,所有的逻辑都在那里。我明白他的意思是公平的,它只是看起来和感觉“凌乱”我过去对剃须刀页面的看法不好,但它们已经对我产生了影响。它们有一个非常有限的使用场景,但在该场景中它们无法被击败:基本上是简单的CRUD,大部分是带有数据的静态页面。它们是完全独立的,因此非常容易理解。需要在Foo编辑页面中更改某些内容吗?转到编辑剃须刀页面。完成。我最初试图将identity重新设计成MVC结构,但后来意识到Razor页面版本更易于使用和维护。项目的其余部分遵循一些严格的设计模式,identity或任何其他基于Razor的部分“脱颖而出”,这难道不困扰您吗?我真的很好奇,因为我正疯狂地试图遵循某种模式,而微软却对此施加了压力:)我的核心项目根本不应该依赖于ASP,但现在它必须依赖于ASP,因为ApplicationUser必须扩展IdentityUser,因此需要依赖性。我应该不在乎,继续吗?有很多东西要打开。老实说,我想说MVC模式正在逐渐消失。移动部件太多了,坦率地说,微软从一开始就做得不好。大多数网站都可以完全用Razor页面构建。从技术上讲,API端点仍然是MVC,但在这个等式中并没有真正的V。对于更高级的应用程序需求,Razor组件/Blazor是首选。或者像Angular这样的传统客户端框架。无论如何,没有MVC。老实说,对于纯MVC风格的设置,我想不出一个好的用例。