C# 如何使用foreach在razor中显示具有var值的数据?

C# 如何使用foreach在razor中显示具有var值的数据?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,在MVC ASP.NET C#中。 我想查看razor中的数据,其内容如下图所示。 链接: 在中的控制器中,具有以下代码: public ActionResult View() { ViewBag.data = db.Contents.OrderByDescending(x=>x.dateCreate).Take(4); return View(); } 在View.cshtml中,我有代码 foreach(var item in ViewBag.data) {

在MVC ASP.NET C#中。 我想查看razor中的数据,其内容如下图所示。 链接:

在中的控制器中,具有以下代码:

public ActionResult View()
{

  ViewBag.data = db.Contents.OrderByDescending(x=>x.dateCreate).Take(4);

  return View();

}
View.cshtml
中,我有代码

foreach(var item in ViewBag.data)
{
    <h2>@item.Title<h2>
    <p>@item.Content<p>
}
foreach(ViewBag.data中的变量项)
{
@项目.标题
@项目内容
}

它只显示在列中。

如何将其显示为图像顶部?

您在控制器中设置的类型中解析它,然后对其进行迭代,
Viewbag
是一个动态对象

@{
        List<Namespace.Models.Content> contents = ViewBag.data as List<Namespace.Models.Content>
        foreach(var item in contents)
        {
        <div stlye="width:100%;">
        <div style="width:80%;height:20px;">
        <h2>@item.Title<h2>
        </div>
        <div>
        <p>@item.Content<p>
       </div>
       </div>
        }
}
@{
列表内容=ViewBag.data作为列表
foreach(目录中的var项)
{
@项目.标题
@项目内容
}
}

在视图中,首先定义随机
内容
显示在左侧:

var contents = (List<Content>)ViewBag.data;

// Select random Content to show in left. Or select you want, not random
Random rnd = new Random();
int cr = rnd.Next(1, contents.Count);
var randomContent_1_of_them = contents[cr-1];

“图像顶部”是什么意思?请在链接中添加itimage top的呈现HTML:您可以更改viewmodel以返回图像、说明和文章列表Show以拆分一篇最新文章和三篇旧文章我希望以图像的样式显示数据。左边是最新的文章,包括:标题、图片和内容,但右边是:3篇老文章,只显示标题?但我想在左边位置显示1篇文章
foreach(var item in contents)
{
   if(item.Id != randomContent_1_of_them.Id )
   {
     //add here..
   } 
}