小编Yin*_*qiu的帖子

将 ASP.NET 核心标识用户属性保存在另一个表中

我正在开发一个 ASP .NET 核心 Web 应用程序。我在应用程序中使用Identity UI 框架进行用户注册和授权。我将 Identity User 继承给我的ApplicationUser班级,如下所示。它创建了一个名为 as 的表ApplicationUser并成功保存了给定属性下的相关数据:(我正在使用Microsoft SQL数据库)

应用程序用户.cs

using Microsoft.AspNetCore.Identity;
using System;
using System.Collections.Generic;

#nullable disable

namespace WebApp.Models
{
        public partial class ApplicationUser : IdentityUser<int>
        {
            public ApplicationUser()
            {
            }

            public string FirstName { get; set; }
            public string MiddleName { get; set; }
            public string LastNam { get; set; }
            public DateTime? DateOfBirth { get; set; }
            public string Bio { get; set; } …
Run Code Online (Sandbox Code Playgroud)

sql-server asp.net-mvc asp.net-identity asp.net-core-mvc

7
推荐指数
0
解决办法
67
查看次数

.NET 5.0 生产中的自定义错误页面

我正在尝试在我的 .NET 5.0 中实现一个自定义 404 页面,以便在 Web 应用程序投入生产时使用。我在Startup.cs 中实现了以下内容;

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            } 
            else
            {
                app.UseStatusCodePagesWithRedirects("/Error/{0}");
            } 
            ...
}
Run Code Online (Sandbox Code Playgroud)

链接到一个简单的ErrorController

public class ErrorController : Controller
    {
        [Route("/Error/{statusCode}")]
        public IActionResult HttpStatusCodeHandler(int statusCode)
        {
            switch(statusCode)
            {
                case 404:
                    //ViewBag.ErrorMessage("Resource could not be found.");
                    break;
            }
            return View("Error");
        }
    }
Run Code Online (Sandbox Code Playgroud)

和去Error.cshtml中发现的共享

这对删除默认Status Code: 404; Not Found页面没有任何作用,但如果我localhost/Error/404直接通过 url转到该页面,则可以访问该页面。

这就是我记得使用以前版本的 .NET 实现这一点的方式,但现在我不确定我是否遗漏了什么,或者新的 .NET 5.0 是否对实现自定义 404 …

custom-error-pages asp.net-core-mvc asp.net-core .net-5

6
推荐指数
1
解决办法
131
查看次数

无法在 Razor Pages 代码隐藏类中使用注入的类

我有一个简单的页面,仅显示电影列表。我注入DbContext到我的页面中:

列表.cshtml

@inject MovieContext Db
Run Code Online (Sandbox Code Playgroud)

并尝试在代码隐藏类中使用它:

列表.cshtml.cs

@inject MovieContext Db
Run Code Online (Sandbox Code Playgroud)

但是,我收到错误:

当前上下文中不存在名称“Db”

我也尝试过使用[Inject]属性注入上下文,但这也不起作用:

public class ListModel : PageModel
{
    public IList<Movie> Movies { get; set; }

    public async Task OnGetAsync()
    {
        Movies = await Db.Movies.ToListAsync();
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

NullReferenceException:未将对象引用设置为对象的实例。

dependency-injection asp.net-core razor-pages

1
推荐指数
1
解决办法
1159
查看次数