我有两个ASP NET站点。它们具有不同的逻辑和页面,从不同的数据库获取/写入数据。我想创建一个主布局(带有页眉、菜单页脚等)并加入这个网站,就像它们看起来像一个网站一样。所以问题是这可能吗?谢谢。
您想实现在一个视图中显示不同模型之类的目标吗?如果是,那么您可以使用 ViewModels
.创建类viewModel
并在此处包含要显示的模型。
public class ViewModel
{
public Book Book { get; set; }
public IEnumerable<Book> Books { get; set; }
public Genre Genre { get; set; }
public IEnumerable<Genre> Genres { get; set; }
//and so on...
}
然后在您的操作方法中,您需要创建新的视图模型并将其传递给返回视图。
var viewModel = new ViewModel
{
Books= db.Books.ToList(),
Genres = db.Genres.ToList()
//you can also of course specify here a Book or Genre
};
return View(viewModel);
在您的视图/或布局中指定您正在使用的模型。
@model YourProjectName.ViewModels.ViewModel
现在,您可以访问在类viewModel
中指定的所有属性。
有关视图模型的更多信息:
在 MVC ASP.NET 视图中使用多个模型的方法
什么是 MVC 中的 ViewModel?