Я предполагаю, что вы возвращаете несколько записей из вашей модели. Я не пробовал привязку модели к методу, я не уверен, что он работает. Я бы попробовал недвижимость. Модель
public class User
{
public int UserId { get; set; }
public string UserName { get; set; }
}
Модель просмотра
public class UserViewModel { get; set; }
{
public List<User> UserList { get; set; }
}
контроллер
DBContext db = new DBContext();
public ViewResult ()
{
List<Users> users = db.Users.Where(m => m.LoggedIn == true).ToList();
UserViewModel userVM = new UserViewModel();
userVM.UserList = users;
return View(userVM);
}
вид
@model MyUserApp.ViewModels.UserViewModel
foreach(User u in Model.Users)
{
Name: @u.UserName<br/>
}
Попробуйте связывать со свойствами, а не с методами. Вам также следует рассмотреть возможность привязки к ViewModel, а не к вашей модели, которая связана с базой данных. Когда вы связываете представление непосредственно с моделью хранилища данных или хранилищем, вы тесно связываете модель с представлением. Затем модель привязывается как к представлению, так и к базе данных (при условии, что вы используете структуру сущностей и аннотации данных). Это может привести к большому количеству ошибок при проверке данных при попытке проверить одну модель по представлению и базе данных. Например, если эти атрибуты добавлены в модель
[Required(ErrorMessage="User name is required")]
[StringLenth(50)] // this causes validation against the database and the view
public string UserName { get; set; }
Как правило, используйте атрибуты аннотации данных, чтобы помочь определить базу данных в вашей модели, а затем выполните проверку пользовательского интерфейса во ViewModel. Если вы добавляете те же атрибуты в модель представления, вы проверяете только по представлению.