【问题标题】:How can I retrieve values from the database from a specific users?如何从特定用户的数据库中检索值?
【发布时间】:2016-08-24 08:10:42
【问题描述】:

我希望能够从数据库中检索值 特定用户,在这种情况下@Model.user.Xp,它不起作用,我 只得到 0。

@model TheQuizR.Models.IndexViewModel

@using Microsoft.AspNet.Identity

<div class="row">
    <div class="col-sm-6 col-md-6">
        <ul class="list-group">
            <div class="blue">
                @User.Identity.GetUserName()<br />
        </div>
        <li class="list-group-item">
            Title
            <span class="badge">@Model.user.Xp</span>                                   
        </li>
        <li class="list-group-item">

IndexViewModel我有这个:

public class IndexViewModel
{

    public ApplicationUser user = new ApplicationUser();

    public bool HasPassword { get; set; }
    public IList<UserLoginInfo> Logins { get; set; }
    public string PhoneNumber { get; set; }
    public bool TwoFactor { get; set; }
    public bool BrowserRemembered { get; set; }

}

ApplicationUser 类中,我拥有所有属性:

public class ApplicationUser : IdentityUser
{
    [MaxLength(128)]
    public string Title { get; set; }
    [Range(0, 5000000)]
    public int Xp { get; set; }
    [Range(0, 100000)]
}

我无法通过 Microsoft.AspNet.Identity(黄色的一个标记)获取 id 和用户名。我无法获取所有其他属性。

【问题讨论】:

    标签: c# .net asp.net-mvc ef-code-first asp.net-identity


    【解决方案1】:

    我建议在控制器中找到用户。然后您可以创建另一个模型或使用 Viewbag。

    string username = User.Identity.GetUserName();
    var user = db.Users.First(u => u.UserAD == username);
    ViewBag.userIDconnected = user.ID;
    

    查看 -

    <div class="row">
    <div class="col-sm-6 col-md-6">
        <ul class="list-group">
            <div class="blue">
        </div>
    
        <li class="list-group-item">
            Title
            <span class="badge">@ViewBag.userIDconnected</span>                                   
        </li>
        <li class="list-group-item">
    

    【讨论】:

    • 我的问题可能有点不清楚,User.Identity.GetUserName() 显示没问题,其他的属性我都看不到。
    • 您是否在控制器中使用适当的数据填充模型?您不能在视图中填充模型。
    • 我想我已经解决了这要感谢你上面的回答=)很好
    • 没问题,您可以将其标记为正在解决的答案或它的名称:)
    猜你喜欢
    • 2022-01-21
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 2016-11-20
    • 2013-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多