让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();

让Razor View理解Linq to SQL对象

控制器:

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>