将 ViewBag 对象传递到公共空置对象

本文关键字:对象 ViewBag | 更新日期: 2023-09-27 18:33:15

所以我在我的_Layout页面中添加了以下内容:

 @Html.Action("ActiveMails", "Home")

调用以下操作:

public void ActiveMails()
{
    var ooo = from s in db.Message
              where (s.SentTo.ToLower() == HttpContext.User.Identity.Name.ToLower())
              && s.Read != "1"
              && s.Active == "1"
              select s;
    ViewBag.UnreadMessages = ooo.Count();
}

问题是当页面加载时,它不会保留ViewBag信息。有什么方法可以让此代码在每个请求上运行,但保留 ViewBag 信息?

将 ViewBag 对象传递到公共空置对象

为什么不将返回方法类型更改为 JsonResult?在这种情况下,您的 ViewBag 不会更改。

    public ActionResult ActiveEmails()
    {
        var ooo = from s in db.Message
          where (s.SentTo.ToLower() == HttpContext.User.Identity.Name.ToLower())
          && s.Read != "1"
          && s.Active == "1"
          select s;
        return Json(ooo.Count(), JsonRequestBehavior.AllowGet);
    }