如何从 ASP.NET Core MVC 中的数据库中获取相关数据

多基昌

我是该类型开发的新手,我想知道如何获取相关数据。

我有 2 张桌子AspNetUsersAccounts. Accounts表中只有 3 列IdUserId连接AspNetUsers表和Amount. 所以,我想做的就是获取当前登录用户的这个帐户信息。

我正在尝试在文档中找到的东西,它可以工作,但显示出奇怪的结果:

Index.cshtml:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}
@using Microsoft.AspNetCore.Identity
@inject SignInManager<IdentityUser> SignInManager
@inject UserManager<IdentityUser> UserManager
@{
    var user = await UserManager.GetUserAsync(User);
}

@if (SignInManager.IsSignedIn(User))
{
<div class="text-center">
    <h1 class="display-4">Welcome back, @(user.Email.Split("@")[0])</h1>
</div>
<div>
    <h5>Your balance: @Html.DisplayNameFor(model => model.account)</h5>
</div>
}
else
{
<div class="text-center">
    <h1 class="mb-3">Welcome, new one here? Go on and create account!</h1>
</div>
}

Index.cshtml.cs:

public class IndexModel : PageModel
    {
        private readonly ILogger<IndexModel> _logger;
        private readonly WebBankDbContext _context;
        private readonly UserManager<IdentityUser> userManager;
        private readonly SignInManager<IdentityUser> signInManager;

        public IdentityUser user;
        public Account account;

        public IndexModel(SignInManager<IdentityUser> signInManager, UserManager<IdentityUser> userManager, ILogger<IndexModel> logger, WebBankDbContext context)
        {
            _logger = logger;
            _context = context;
            this.userManager = userManager;
            this.signInManager = signInManager;
        }

        public async Task OnGetAsync()
        {
            if (signInManager.IsSignedIn(User))
            {
                user = await userManager.GetUserAsync(User);
                account = (from st in _context.Accounts where st.UserId == user.Id select st).First();
            }
        }
    }

我正在用断点调试这段代码,发现里面有正确的信息account,但在页面上显示如下:

Your balance: account

怎么了?我怎样才能解决这个问题?谢谢。

罗马

DisplayNameFor显示模型的名称(您的值也在 中account.Amount,而不仅仅是account)。

只需更改为:

<h5>Your balance: @(Model.account.Amount)</h5>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

登录到ASP.NET Core MVC 6中的数据库

如何从SQL数据库中检索ASP.NET MVC中的行数计数?

使用ASP.NET MVC Core将数据从数据库注入到类中

如何使用Visual Studio Code在ASP.NET Core中搭建数据库

如何通过ASP.NET Core中的“使用”打开数据库连接?

如何从API获取数据并将其插入数据库而无需在ASP.NET MVC中重复?

如何从ASP.NET WebAPI MVC中的多个数据库获取数据

在ASP.NET Core MVC中通过控制器从数据库读取信息

使用Blazor在ASP.NET CORE中更新数据库后如何刷新网页

如何从2个(或多个)独立下拉的ASP.NET Core MVC中获取数据?

如何在ASP.NET Core Web API中仅使用LINQ从数据库获取最新ID?

如何基于特定值查询数据库中的列MVC ASP.NET Core

如何调试ASP.NET Core MVC数据绑定?

从ASP.NET Core MVC中的SQL数据库访问用户ICollection

如何从数据库获取数据并在Asp.net MVC中以pdf格式下载该内容

如何在ASP.NET MVC 5 Razor数据库中更新表

如何在ASP.NET MVC和Azure中连接到数据库?

在asp net core实体框架mvc中从数据库绑定菜单和子菜单

如何使用asp.net mvc检查数据库中是否存在重复数据

如何从 Angular 数据库中的 ASP.NET Core API 下载并保存 pdf 文件?

如何从统计类型数据的数据库即时获取枚举中的数据?在asp.net核心mvc中

如何使用asp.net mvc将视频保存到数据库中

ASP.NET Core 3.1 MVC 中的种子数据库 AspNetUserRoles 表

如何从数据库下载文件,并在 Asp.net core MVC 中将它们作为图像获取?

如何在 Asp.Net Core Mvc 5.0 中将 sql 数据库与 ado.net 连接?

如何从 ASP.NET Core web api 调用存储在 DigitalOcean 中的 postgresql 数据库?

如何在 ASP.NET Core 5 MVC (.NET 5) 中获取记录的用户数据?

如何从我的数据库中获取用户 ID 并使用 ASP.NET Core MVC 显示它

Asp.net core mvc 迁移数据库