我是asp.net mvc初学者,有点不明白,比如一个Url:
http://localhost:4690/home/detail/27
也就是home/view.aspx页面,这个页面里面有很多个新闻列表,比如新闻1、新闻2、新闻3,那在HomeController里面该怎么写呢?不会是
public class HomeController:Controller
{
public ActionResult Detail(int? id)
{
ViewData["新闻1"]=this.GetNew1List();
ViewData["新闻2"]=this.GetNew2List();
ViewData["新闻3"]=this.GetNew3List();
return view();
}
}
请教各位,该咋写呢?
foreach(var item in ViewData["新闻1"])
{
.......................
}
不过我觉得不要用ViewData,自己写个ViewModel
public IQueryable<New> ListOne{get;set;}
public IQueryable<New> ListTwo{get;set;}
这样明晰一点不是吗
除了数据源的存放方式外,我想说,就算一个小网站的首页都有十几个栏目列表,每个栏目列表的数据源,如果都是这个的 ListOne、ListTwo、ListThreee、ListFour......,何其多吖?
而且每个的ListOne、ListTwo、ListThreee、ListFour......,都要写在 Index() 里面,来设置值,那这个action会胀得多大吖?
@king2003: 那就用PartialView引进来。。。
对,用一个数据对象就可以了。