При работе с Umbraco вы можете столкнуться со сценариями, в которых вам необходимо привязать общий список объектов к вашему представлению. В этой статье мы рассмотрим различные методы достижения этой цели и предоставим примеры кода для каждого метода.
Метод 1: использование словаря ViewData
Один из способов привязать общий список объектов к вашему представлению в Umbraco — использовать словарь ViewData. Вот пример:
В вашем контроллере:
public ActionResult Index()
{
var myList = new List<MyObject>
{
new MyObject { Id = 1, Name = "Object 1" },
new MyObject { Id = 2, Name = "Object 2" },
new MyObject { Id = 3, Name = "Object 3" }
};
ViewData["MyList"] = myList;
return View();
}
По вашему мнению:
@{
var myList = (List<MyObject>)ViewData["MyList"];
}
@foreach (var item in myList)
{
<p>@item.Name</p>
}
Метод 2: использование ViewBag
Другой подход — использовать ViewBag для передачи общего списка объектов в представление. Вот пример:
В вашем контроллере:
public ActionResult Index()
{
var myList = new List<MyObject>
{
new MyObject { Id = 1, Name = "Object 1" },
new MyObject { Id = 2, Name = "Object 2" },
new MyObject { Id = 3, Name = "Object 3" }
};
ViewBag.MyList = myList;
return View();
}
По вашему мнению:
@{
var myList = (List<MyObject>)ViewBag.MyList;
}
@foreach (var item in myList)
{
<p>@item.Name</p>
}
Метод 3: использование строго типизированной модели
Вы также можете привязать к представлению общий список объектов, используя строго типизированную модель. Вот пример:
В вашем контроллере:
public ActionResult Index()
{
var myList = new List<MyObject>
{
new MyObject { Id = 1, Name = "Object 1" },
new MyObject { Id = 2, Name = "Object 2" },
new MyObject { Id = 3, Name = "Object 3" }
};
return View(myList);
}
На ваш взгляд (при условии, что модель List<MyObject>
):
@model List<MyObject>
@foreach (var item in Model)
{
<p>@item.Name</p>
}
В этой статье мы рассмотрели три различных метода привязки общего списка объектов к представлению в Umbraco. Вы можете использовать словарь ViewData, ViewBag или строго типизированную модель в зависимости от ваших предпочтений и требований. Используя эти методы, вы можете передавать данные из контроллера в представление и отображать их соответствующим образом.
Не забудьте выбрать метод, который лучше всего соответствует вашим потребностям, и обеспечить правильное разделение задач в вашем приложении Umbraco.