mvc3,view页面要返回多个不同的model,从控制器里面怎么写
1个回答
2015-01-30 · 知道合伙人数码行家
关注
展开全部
一般返回一个model这样
@model MvcMusicStore.Models.Album
方法:
public ActionResult Details(int id)
{ var album = storeDB.Albums.Find(id);
return View(album);
}
这个页面不止一个model,还有其他的,那么
Details/id,仅仅返回这一个return View(album); 我想返回其他model,在这个url里面和方法怎么写
Details/id?type=4,我想再返回类型的model
@model MvcMusicStore.Models.Album
@model2 MvcMusicStore.Models.AlbumType
如上,控制器里面返回2个model,按照我的理解应该这样
public ActionResult Details(int id,int type)
{ var album = storeDB.Albums.Find(id);
var albumtype=storeDB.Albumstype.Find(type);
第一种方法:使用ViewModel概念,即建立一个新的class,将所有model都做为它的属性出现,这里你直接返回这个ViewModel即可,如:
public class UserViewModel{
public User_Info User_Info{get;set;}
public User_Extension User_Extension{get;set;}
}
第二种方法:使用ViewData或者MVC3里的ViewBag都可以
@model MvcMusicStore.Models.Album
方法:
public ActionResult Details(int id)
{ var album = storeDB.Albums.Find(id);
return View(album);
}
这个页面不止一个model,还有其他的,那么
Details/id,仅仅返回这一个return View(album); 我想返回其他model,在这个url里面和方法怎么写
Details/id?type=4,我想再返回类型的model
@model MvcMusicStore.Models.Album
@model2 MvcMusicStore.Models.AlbumType
如上,控制器里面返回2个model,按照我的理解应该这样
public ActionResult Details(int id,int type)
{ var album = storeDB.Albums.Find(id);
var albumtype=storeDB.Albumstype.Find(type);
第一种方法:使用ViewModel概念,即建立一个新的class,将所有model都做为它的属性出现,这里你直接返回这个ViewModel即可,如:
public class UserViewModel{
public User_Info User_Info{get;set;}
public User_Extension User_Extension{get;set;}
}
第二种方法:使用ViewData或者MVC3里的ViewBag都可以
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询