让Razor View理解Linq to SQL对象
本文关键字:to SQL 对象 Linq 理解 Razor View | 更新日期: 2023-09-27 18:04:07
我想从调用LINQ to SQL函数返回对象列表的视图中循环结果。但是,我不确定如何获得视图来处理L2S对象(为了使用foreach)。
在控制器中:
ViewData["list"] = db.Users.ToList();
控制器:
public class MyClassController : Controller
{
private ProjectContext db = new ProjectContext();
//
// GET: /MyClass/
public ViewResult Index()
{
return View(db.MyClasses.ToList());
}
}
视图:
@model IEnumerable<MvcApplication1.Models.MyClass>
@foreach (var item in Model) {
<div>
<!-- HTML here like @item.Title -->
</div>
}
这是强类型视图方法。使用动态方法并没有太大的不同。只需将列表分配给动态对象的属性,然后将foreach(var item in Model)
变为foreach(var item in ViewBag.listProperty)
。或者与ViewData你分配ViewData.Add('list', db.MyClasses.ToList())
和foreach成为foreach(var item in ViewData['list'])
我更喜欢强类型的方法,因为它看起来更干净。
编辑:在评论中提出的好观点(我忘记了,因为我几乎只使用强类型方法)是你必须抛出。在本例中,它被存储为List<MyClass>
尽管您也可以隐式地将其提取为IEnumerable<MyClass>