如何从特定用户检索数据库中的值?

时间:2016-08-24 08:10:43

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

我希望能够从a中检索数据库中的值 特定用户,在这种情况下@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和用户名(黄色中的一个标记)。我无法获得所有其他财产。

1

1 个答案:

答案 0 :(得分: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">