Итак, я видел много похожих вопросов, но, к сожалению, я не могу понять, как получить доступ к списку пользователей из db в представлении. Я получаю исключение System.NullReferenceException. Может ли один из вас, экспертов, понять, что я делаю неправильно?Как отобразить список в режиме просмотра в MVC?
Модель
public class MyModel
{
[Key]
public int Id { get; set; }
[Display(Name = "Name")]
public string Name { get; set; }
public bool TriggerOnLoad { get; set; }
public string TriggerOnLoadMessage { get; set; }
public string EmployeeNumber { get; set; }
public IEnumerable<User> Users { get; set; }
public List<MyModel> GetAllUsers()
{
var queryString = "SELECT Name FROM Users";
var adapter = new SqlDataAdapter(queryString, System.Configuration.ConfigurationManager.ConnectionStrings["SQLConn"].ConnectionString);
var current = new DataSet();
adapter.Fill(current, "Name");
return (from DataRow item in current.Tables[0].Rows
select new MyModel()
{
Name = Convert.ToString(item["Name"]),
}).ToList();
}
Контроллер
public ActionResult GetUser()
{
var model = new MyModel();
_db.GetAllUsers();
return View(model);
}
Посмотреть
@model ModelName.Models.MyModel
--HTMLCode--
@foreach (var item in Model.Users) <-- Exception.
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
</tr>
}
Что я забыть?
попробовал обернуть его в @ {}? – MikeDub
Что такое '_db' в вашем коде контроллера? – ekad
@ekad - это DbContext. Но это не проблема? Когда я отлаживаю код, я добираюсь до View. (Работает код sql) –