ASP.NET MVC - как передать массив в представление?
Я борюсь здесь, чтобы найти простой способ передать массив из контроллера в представление на ASP.NET MVC framework.
поэтому в моем контроллере у меня было бы что-то вроде:
public class HomeController : ApplicationController
{
public ActionResult Index()
{
string[] myArray = { "value01", "value02", "value03"};
ViewData["passedArray"] = myArray;
return View();
}
}
поэтому, на мой взгляд, я бы просто позвонил ViewData["passedArray"] и запустите цикл на нем.
но, видимо,ViewData принимается видом как
3 ответов
Это должно работать путем приведения ViewData ["passedArray"] в представлении к string[]. Кроме того, если вы хотите пройти лишнюю милю: создайте класс ViewModel, содержащий этот массив в качестве члена, и передайте эту ViewModel строго типизированной версии вашего представления.
вы можете использовать PartialView следующим образом:
-
контроллер
public ActionResult Index() { List<string> arr = new List<string>() { "apple", "banana", "cat" }; return View(arr); }
посмотреть
@model List<string> @foreach (var item in Model) { @Html.Partial("~/Views/Shared/Fruits/_myFruits.cshtml", item); }
- PatialView т. е. _myFruits.cshtml по
@model string <li>@Model</li>