2017-02-08 4 views
-1

Мне нужно получить набор объектов из таблицы с помощью цикла. Но я получил сообщение об ошибкеКак получить коллекцию объектов из таблицы

Модели элемента передается в словарь типа «ThaniyamBank.Models.Board», но этот словарь требует модель элемента типа «System.Collections.Generic.List`1 [ A.Models.Board] '

Почему эта ошибка наступает? Как я могу решить эту ошибку? Должен ли я изменить свой запрос?

контроллер

public ActionResult Board() 
{ 
    var res = db.Boards.Select(t => new 
    { 
     Id = t.Id, 
     Name = t.Name, 
     Designation = t.Designation, 
     Phone = t.Phone 
    }).ToList(); 
    return View(res); 
} 

вид

@model List<A.Models.Board> 

@for (var j = 0; j < Model.Count(); j++) 
{ 
    <tr> 
     <td> 
      @Html.HiddenFor(m => m[j].Id) 
      @Html.HiddenFor(m => m[j].Name) 
      @Html.DisplayFor(m => m[j].Designation) 
      @Html.DisplayFor(m => m[j].Phone) 
     </td> 
    </tr> 
} 

модель класса

public partial class Board 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public string Designation { get; set; } 
    public string Phone { get; set; } 
    public string PhotoUrl { get; set; } 
} 

мне нужно получить имя, обозначение, и телефон всех народов в Совете, но я получив ошибку.

Как исправить эту ошибку?

Как получить сбор данных из таблицы?

+1

Это не сообщение об ошибке, которое генерирует код (его состояния вашей отправки один экземпляр 'Board' для представления, но ваш код отправляет коллекцию анонимных объектов), так что либо вы не указали правильный код, либо вы не указали правильное сообщение –

+0

Но в чем смысл этого в любом случае - Код контроллера просто должен быть 'var res = db.Boards.ToLi й(); return View (res); ' –

ответ

0

Вы передаете анонимный объект для просмотра, но ожидаете строго типизированного класса.

Ваша сторона контроллер должен быть:

public ActionResult Board() 
{ 
    var res = db.Boards 
      .Select(t => new A.Models.Board //note this 
      { 
       Id = t.Id, 
       Name = t.Name, 
       Designation = t.Designation, 
       Phone=t.Phone 
      }).ToList(); 
    return View(res); 
} 

Или событие проще, если вы используете DB модель на Вид:

public ActionResult Board() 
{ 
    var res = db.Boards.ToList(); 
    return View(res); 
} 
Смежные вопросы