Этот код возвращает List<anonymous>
var List = db.Employees.Select(x => new
{
id = x.id,
Name = x.Name
}).ToList();
так вот почему вы не можете получить доступ к Name
собственности в foreach
цикле в вашем представлении.
Я бы предложил использовать строго типизированный класс ViewModel для хранения данных и избежания ViewBag. ViewModel должны находиться в папке Models и выглядеть, как показано ниже
public class EmployeeViewModel
{
public int ID { get; set; }
public string Name { get; set; }
}
Изменение контроллера, как показано ниже
public ActionResult AssignTask()
{
var model = db.Employees.Select(x => new EmployeeViewModel
{
ID = x.id,
Name = x.Name
}).ToList();
return View(model);
}
и на ваш взгляд
@model List<EmployeeViewModel>
<h2>AssignTask</h2>
<div class="row">
<div class="form-group">
<div style="overflow-y:scroll; overflow-x:hidden; height:400px;">
@foreach (var item in Model)
{
<div class="col-lg-4 col-md-4">
<label>@item.Name</label>
<input type="checkbox" class="checkbox" name="SelectEmp" value="@item.ID" />
</div>
}
</div>
</div>
</div>
Ваш пропускании анонимный объект !. Создайте модель представления с этими свойствами и спроецируйте запрос в модель представления. И передайте модель в представление (не используйте 'ViewBag'). И покажите свой код, а не его изображения. –
Прошу прощения, я новичок в переполнении стека, и я не знаю, как разместить код HTML в текстовой области. –
. Вы копируете код в своем представлении (код на картинке) в вопрос, так же, как вы сделали для кода контроллера –