在MVC ASP.NET C#中。 我想用剃须刀查看内容,如下图所示。 链接:
在Controller中有这段代码:
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>
}
它只显示在列中 如何将其显示为图像顶部?
答案 0 :(得分:2)
你用从控制器设置的类型解析它然后迭代它,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>
}
}
答案 1 :(得分:0)
在视图中,首先定义随机Content
以显示在左侧:
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];
使用CSS创建像图像一样的样式,并添加到左randomContent_1_of_them
项。最后添加到右侧列出其余内容:
foreach(var item in contents)
{
if(item.Id != randomContent_1_of_them.Id )
{
//add here..
}
}