Получение Razor View для понимания объектов Linq to SQL - PullRequest
0 голосов
/ 31 июля 2011

Я бы хотел просмотреть результат в представлении вызова функции LINQ to SQL, которая возвращает список объектов. Однако я не уверен, как получить представление для обработки объекта L2S (для использования foreach).

В контроллере:

  ViewData["list"] = db.Users.ToList();

1 Ответ

1 голос
/ 31 июля 2011

Контроллер:

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>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...