如何显示从控制器在ViewBag中传递的数据

时间:2019-05-24 08:10:14

标签: linq asp.net-core model-view-controller viewbag

如何在视图中显示帖子标题和描述

       var q = _context.Posts.OrderByDescending(x=>x.Id).Take(1);
       ViewBag.q = q;
        return View();

2 个答案:

答案 0 :(得分:0)

在您的.cshtml文件中,您执行@ Viewbag.q,例如:

<h1>@ViewBag.q</h1>

答案 1 :(得分:0)

我建议您先阅读Views in ASP.NET Core

要回答您的问题,您可以通过两种方式实现这一点:

使用模型的强类型视图:

控制器:

var q = _context.Posts.OrderByDescending(x=>x.Id).Take(1);
return View(q);

查看:

@model Post

<h1>@Model.Title</h1>
<p>@Model.Description</p>

使用ViewBag或ViewData的弱类型视图:

控制器:

var q = _context.Posts.OrderByDescending(x=>x.Id).Take(1);
ViewBag.q = q;
return View();

查看:

<h1>@ViewBag.q.Title</h1>
<p>@ViewBag.q.Description</p>

使用强类型数据而不是弱类型是一个更好的主意。