4
"Books"를 나열 할 수있는 책꽂이가있는 작은 ASP.NET MVC 3 테스트 응용 프로그램을 만들고 대여 항목을 "Loaners"로/.MVC에서 두 개의 목록을 모델로 보내려면 어떻게합니까?
하나의보기에 내 책과 내 Loaners를 모두 표시하고 BooksViewModel이라는 ViewModel을 만들었지 만 "Books"를 나열 할 수없는 이유를 알 수 없습니다. "foreach (모델의 var 항목)"를 수행하고 그 안에 "Books"만 터치 할 수 있으며 Books 속성이 없습니다.
내 모델
namespace MyTest.Models
{
/// <summary>
/// Represents a book
/// </summary>
public class Book
{
public int ID { get; set; }
public string Title { get; set; }
public string Author { get; set; }
public string ISBN { get; set; }
public virtual Loaner LoanedTo { get; set; }
}
/// <summary>
/// Represents a Loaner
/// </summary>
public class Loaner
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Book> Loans { get; set; }
}
/// <summary>
/// Bookshelf Database Context
/// </summary>
public class BookshelfDb : DbContext
{
public DbSet<Book> Books { get; set; }
public DbSet<Loaner> Loaner { get; set; }
}
}
내 컨트롤러 :
BookshelfDb bookshelf = new BookshelfDb();
public ActionResult Index()
{
var books = from book in bookshelf.Books
select book;
var loaners = from loaner in bookshelf.Loaner
select loaner;
var bookViewModel = new BooksViewModel(books.ToList(),loaners.ToList());
return View(bookViewModel);
}
내 뷰 모델
public class BooksViewModel
{
public BooksViewModel(List<Book> books, List<Loaner> loaners)
{
this.Books = books;
this.Loaners = loaners;
}
public List<Book> Books { get; private set; }
public List<Loaner> Loaners { get; private set; }
}
내보기
@model IEnumerable<MyTest.ViewModels.BooksViewModel>
@foreach (var item in Model.Books)
{
@item.Title
}
,
힌트 또는 코드 수정이 많은 도움이 될 것입니다!
오! 니가 끝냈어! 감사! –