代码之家  ›  专栏  ›  技术社区  ›  Brian Rice

VS 2017 ASP.NET核心Web应用程序和个人用户帐户工作但页面不存在

  •  -1
  • Brian Rice  · 技术社区  · 6 年前

    当我使用“asp.net核心web应用程序/web应用程序”(非mvc)/“个人用户帐户”创建web项目时…我得到一个带有register和login按钮的示例项目,当我单击它们时,它们会显示各自的页面。然而。。。很奇怪的是,如果我在注册页面上搜索“创建一个新帐户”却找不到…还有更多…身份区域或任何地方都没有AccountController…所以1)这些页面不在我的解决方案文件夹中,2)这些页面是如何显示的?!?我现在试过两台不同的电脑。(使用核心2.1)

    作为一个例子,此链接工作:

    <a asp-area="Identity" asp-page="/Account/Login">Login</a>
    

    带我去:

    https://localhost:44300/Identity/Account/Login
    

    但我的文件夹结构(在解决方案和磁盘上)看起来是这样的:

    enter image description here

    2 回复  |  直到 6 年前
        1
  •  4
  •   Chris Pratt    6 年前

    带标识的ASP.NET Core 2.1自动包含“默认用户界面”。这是一个Razor Pages类库,通过 AddDefaultIdentity 在里面 Startup 在引擎盖下 AddDefaultUI 是的。

    如果您想要项目中的实际文件,则需要将它们脚手架起来。右键单击解决方案资源管理器中的项目,然后选择“添加”>“新建脚手架项目…”然后,单击左侧的标识列表,然后单击“添加”按钮。将弹出一个新窗口,允许您选择要包含的页面、上下文等。按您喜欢的方式进行配置并继续。

    值得注意的是,只要你使用 添加默认标识 ,默认用户界面仍然包括在内,这意味着您实际上没有 需要 如果你想要的话,所有的脚手架文件。它们基本上起到覆盖的作用。将使用项目中特定包含的任何内容,而缺少的任何内容都将从默认ui中提取。

    这也意味着,如果您想使用标准的控制器操作和视图来代替razor页面,那么默认的ui将 仍然 积极主动,优先考虑。你必须使用 AddIdentity AddIdentityCore 而不是 添加默认标识 如果希望完全关闭默认用户界面。

        2
  •  0
  •   Kevin LaBranche    6 年前

    介绍了ASP.NET Core 2.1 Razor UI in class libraries 是的。它的用户界面的身份 nuget package 是的。

    这样做的好处是,现在可以将ui与库打包在一起,然后公开ui以供重写。

    这个 post 描述如何重写UI。实际上,您将要覆盖到项目的页面添加到/areas/identity/pages….当前最简单的方法是运行 scaffolder for identity 以及 visual walkthrough 是的。