如何显示当前登录用户的数据

约翰·韦恩

我想显示当前登录用户的事件,该
怎么办?
这是我的代码:

这是我的模型

public Event()
{
    Venues = new HashSet<Venue>();
    Ratings = new HashSet<Rating>();
}

public int EventID { get; set; }

[Required]
[StringLength(50)]
[Display(Name="Event Name")]
public string EventName { get; set; }

[Required]
[StringLength(100)]
[Display(Name = "Event Description")]
public string EventDesc { get; set; }

[Column(TypeName = "image")]
[Display(Name = "Event Logo")]
public byte[] EventLogo { get; set; }

[StringLength(50)]
[Display(Name = "Event Location")]
public string EventLocation { get; set; }

public virtual AspNetUser AspNetUser { get; set; }

这是我的控制器:

public ActionResult ManageEvent()
{
    if (!User.Identity.IsAuthenticated)
    {
        return RedirectToAction("Login", "Account");
    }

    var events = db.Events;
    return View(events.ToList());
}

这是我的观点:

@model IEnumerable<Project_Touchee.Models.Event>
@{
    ViewBag.Title = "Manage Events";
}
<h2>Manage All Events</h2>
    <table class="table">
        <tr>

            <th>
                @Html.DisplayNameFor(model => model.EventLogo)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.EventName)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.EventDesc)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.EventLocation)
            </th>
     @foreach (var item in Model)
        {
            <tr>
                <td>
                    @{
            byte[] eventt = item.EventLogo;
            string imageSrc = null;
            if (item.EventLogo != null)
            {
                MemoryStream ms = new MemoryStream();
                ms.Write(eventt, 0, eventt.Length);
                string imageBase64 = Convert.ToBase64String(ms.ToArray());
                imageSrc = string.Format("data:image/index;base64,{0}", imageBase64);

            }
                    }
                    <img src="@imageSrc" width="100" height="100" />
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.EventName)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.EventDesc)
                </td>
                <td>
                    @Html.DisplayFor(modelItem => item.EventLocation)
                </td>

这应该仅显示当前用户创建的事件。

克里斯·普拉特

首先,您需要获取当前用户的副本:

var user = UserManager.FindById(User.Identity.GetUserId());

然后,您需要使用以下查询事件:

var events = db.Events.Where(m => m.AspNetUser == user);

您可以通过AspNetUser为事件添加导航属性来简化生活

public virtual ICollection<Event> Events { get; set; }

然后,您可以使用: user.Events

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何显示当前登录用户的数据

如何显示基于当前登录用户的数据?

Android:如何仅显示当前登录用户的数据?

如何在laravel中显示当前登录用户的数据

如何显示登录用户的数据?

显示当前登录用户拥有的数据

如何显示当前已登录用户的Firebase

XMPPFramework-如何获取当前登录用户的显示名称

显示登录用户的数据

显示当前登录用户等级

如何在rails中显示与登录用户相关的数据

如何获取当前登录用户

如何显示使用Spring Boot Thymeleaf的当前登录用户?

如何仅显示那些属于当前登录用户组的记录?

Odoo v10:如何在表单中显示当前登录用户的电子邮件?

死锁:仅显示当前登录用户的模板部分

仅显示当前登录用户的 IP 地址

如何获取当前Windows登录用户的用户名?

如何获取当前登录用户正在关注的用户帖子

如何获取当前登录用户authservice的用户名

如何只使用存储在公司的FireStore登录用户的当前数据

如何获取只有当前登录用户以前输入过的数据?

Laravel 5.5仅加载当前登录用户的数据

基于当前登录用户的Django数据库路由

实时获取当前登录用户的数据 - Flutter & Firestore

将当前登录用户的数据保存在Django中

在 Kotlin 的 Firebase Firestore 中存储当前登录用户的数据?

Django:如何显示来自数据库的登录用户数据

我如何显示数据用户当前在Codeigniter中登录