Как я могу получить значения из базы данных от определенных пользователей?

Я хочу быть в состоянии получить значения из базы данных от конкретного пользователя, который в этом случае @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 (одна отметка в желтом). Я не могу получить все остальные свойства.

1

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">
Другие вопросы по тегам