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