У меня есть модель в моем приложении ASP.NET MVC:Проходя сложный массив из контроллера для просмотра ASP.NET MVC
public class SearchArrayModel
{
public long ID { get; set; }
public string Name { get; set; }
public struct AttribStruct
{
public string AttribName { get; set; }
public string[] AttribValues { get; set; }
}
public AttribStruct[] AttribStructTable { get; set; }
}
В контроллере я заполняющий его некоторые данные из WebAPI (процесс наполнения хорошо), Я создал массив SearchArrayModel, потому что у меня есть много элементов для заполнения из webAPI (это веб-сайт с сайта, похожий на ebay), например, некоторые телефоны с его именами и атрибуты, которые вы обычно видите на сайте аукциона).
SearchArrayModel[] src = new SearchArrayModel[x];
{
//filling the fields
}
А на конце ActionResult у меня есть:
return View(src);
//Visual Studio tells me that it is a "SearchArrayModel[] src"
Я также просматривать, где я хочу, чтобы получить и отобразить данные:
@model allegrotest.Models.SearchArrayModel
@using (Html.BeginForm())
{
<h2>@Model.AttribStructTable[1].AttribName</h2>
<h3>@Model.AttribStructTable[1].AttribValues[1]</h3>
//indexes of arrays are just for testing, if all will be good I will write a loop
}
Но когда я м Начало приложения У меня есть ошибка:
The model item passed into the dictionary is of type 'allegrotest.Models.SearchArrayModel[]', but this dictionary requires a model item of type 'allegrotest.Models.SearchArrayModel
Я знаю, что это сложный массив, и я не знаю, как передать этот массив из Controller в View.
Я пытался писать в Вид:
@model allegrotest.Models.SearchArrayModel[]
, но тогда я не могу попасть в поле внутри @model
Ваше второе решение работает. Когда я попытался написать 1-й (с помощью foreach), я не могу получить доступ к «SearchArrayModel» в моем представлении –