Я передаю значения списка в мой вид. Но я получаю сообщение об ошибке «Элемент модели, переданный в словарь, имеет тип« System.Collections.Generic.List ». Вот мой контроллер действия:Пропустить список для просмотра в MVC
public ActionResult Index()
{
Test t = new Test();
List<Customer> myList= t.GetData();
return View(myList);
}
Вот вид:
@model List<AsyncActions.Models.Test>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<table border="1" cellpadding="4">
@foreach (var row in Model)
{
<tr>
@*<td>@row."CustomerID"</td>
<td>@row."CustomerCode"</td>*@
</tr>
}
вот моя модель:
namespace AsyncActions.Models
{
public class Test
{
public List<Customer> GetData()
{
try
{
Customer c = new Customer();
List<Customer> cst = new List<Customer>();
for (int i = 0; i < 10; i++)
{
c.CustomerID = i;
c.CustomerCode = "CST"+i;
cst.Add(c);
}
return cst;
}
catch (Exception)
{
throw new NotImplementedException();
}
}
}
public class Customer
{
public int CustomerID { get; set; }
public string CustomerCode { get; set; }
}
}
Я уже попытался удалить список <> из Посмотреть. Когда я это делаю, я получаю сообщение об ошибке, поскольку «оператор foreach не может работать с переменными типа« AsyncActions.Models.Test », потому что« AsyncActions.Models.Test »не содержит общедоступного определения для« GetEnumerator ». Я пробовал так много всего. Я проверил это link, но это не решило мою проблему. Я не могу узнать, что я пропустил. Буду признателен за любую оказанную помощь.
Похоже, вы еще не опубликовали свой код. 'Список myList = t.GetData();' говорит, что ваша модель является «списком ». Но в вашем представлении есть что-то другое, как модель. –
@kosala Пожалуйста, ознакомьтесь с обновленным вопросом. –
Думаю, у вас уже есть ответ ниже. Этот комментарий не связан с вашим вопросом. В вашей модели есть ошибка. Вы должны определить 'Customer c = new Customer();' внутри цикла for. –