Asp.net MVC中,一次默認只能返回一個Model,如果調用多個數據集,只能用ViewData來導來導去,好像很麻煩,所以,可以給model擴展方法來實現(聲明一下:這方法只針對MVC2之前,MVC3之后已支持泛類型,直接使用ViewBag傳過去即可,非常方便的。)
首先,在控制器中定義一個類,內容如下:
public class blogModel
{
public IQueryable<T_Type> types { get; private set; }
public IQueryable<T_Post> posts { get; private set; }
public blogModel(IQueryable<T_Type> types, IQueryable<T_Post> posts)
{
this.types = types;
this.posts = posts;
}
}
以此來接收兩個IQueryable,然后 返回的時候
IQueryable<T_Type> types = from t in cb.T_Type select t;
IQueryable<T_Post> posts = ( from p in cb.T_Post orderby p.updateTime select p).Take( 10);
// ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View( " Index ", new blogModel(types,posts));
public class blogModel
{
public IQueryable<T_Type> types { get; private set; }
public IQueryable<T_Post> posts { get; private set; }
public blogModel(IQueryable<T_Type> types, IQueryable<T_Post> posts)
{
this.types = types;
this.posts = posts;
}
}
以此來接收兩個IQueryable,然后 返回的時候
IQueryable<T_Type> types = from t in cb.T_Type select t;
IQueryable<T_Post> posts = ( from p in cb.T_Post orderby p.updateTime select p).Take( 10);
// ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View( " Index ", new blogModel(types,posts));
視圖文件的第一行要引用
<% @ Page Language = " C# " MasterPageFile = " ~/Views/Shared/Site.Master " Inherits = " System.Web.Mvc.ViewPage<MvcBlog.Controllers.blogModel> " %>
然后就可以使用types和posts數據集啦!!!
<% -- 文章類別 -- %>
< div id ="lcategory" >
< h4 >
< span >我的文章分類 </ span ></ h4 >
< ul >
<% foreach (var type in Model.types)
{ %>
< li > <% = Html.ActionLink( type.typeName, " # " ) %> </ li >
<% } %>
</ ul >
< br />
</ div >
<% -- 最近文章 -- %>
< div id ="llatest" >
< h4 >
< span >最新文章列表 </ span ></ h4 >
< ul >
<% foreach (var post in Model.posts)
{ %>
< li > <% = Html.ActionLink( post.title, " # " ) %> </ li >
<% } %>
</ ul >
< br />
</ div >
<% @ Page Language = " C# " MasterPageFile = " ~/Views/Shared/Site.Master " Inherits = " System.Web.Mvc.ViewPage<MvcBlog.Controllers.blogModel> " %>
然后就可以使用types和posts數據集啦!!!
<% -- 文章類別 -- %>
< div id ="lcategory" >
< h4 >
< span >我的文章分類 </ span ></ h4 >
< ul >
<% foreach (var type in Model.types)
{ %>
< li > <% = Html.ActionLink( type.typeName, " # " ) %> </ li >
<% } %>
</ ul >
< br />
</ div >
<% -- 最近文章 -- %>
< div id ="llatest" >
< h4 >
< span >最新文章列表 </ span ></ h4 >
< ul >
<% foreach (var post in Model.posts)
{ %>
< li > <% = Html.ActionLink( post.title, " # " ) %> </ li >
<% } %>
</ ul >
< br />
</ div >