加載部分視圖
$("#result").load("/home/message",function(){
//加載完之后隱藏進度條
});
public ActionResult message(){
return PartialView("視圖",實體);
}
分頁控件的使用
頁面:
< div id = " CommentList " >
@ { Html . RenderAction ( " Index " , " Comment " , new { id = @ Model . ProductID , page = 1 } ) ; }
< / div >
局部視圖
@ using Webdiyer . WebControls . Mvc ; @ model PagedList < Extshop . Models . T_Comment > @ { foreach ( var c in Model ) { < div class = " row " > < div class = " title " > @ c . Title < / div > < b > @ c . Username < / b > & nbsp ; 發表於 @ ( c . CreateTime ) < br / > @ c . Description < / div > } } < br / > < div class = ' pagenav ' > @ Ajax . Pager ( Model , new PagerOptions { PageIndexParameterName = " page " } , new AjaxOptions { UpdateTargetId = " CommentList " } ) < / div >
Ajax分頁的方法,這樣,就可以使用Ajax自動更新該部分。在AjaxOption中定義了UpdateTargetId參數為“CommentList”,意味着當Ajax加載數據后,會自動更新id為“CommentList”的html元素內的內容
或
@Html.Pager(Model, new PagerOptions { PageIndexParameterName = "id", ShowPageIndexBox = true, FirstPageText = "首頁", PrevPageText = "上一頁", NextPageText = "下一頁", LastPageText = "末頁", PageIndexBoxType = PageIndexBoxType.TextBox, PageIndexBoxWrapperFormatString = "請輸入頁數{0}", GoButtonText = "轉到" })
后台:
新建一個名稱為“CommentController”的控制器,並修改index操作代碼如下:
public ActionResult Index ( int id , int ? page ) { ViewData [ " ProdcutID " ] = id ; PagedList < T_Comment > q = dc . T_Comment . Where ( m = > m . ProductID = = id ) . OrderByDescending ( m = > m . CreateTime ) . ToPagedList ( page ? ? 1 , 2 ) ; return PartialView ( q ) ; } 代碼中第1個參數id表示的是產品的id,第2個參數是評論的當前頁。和產品列表一樣,使用mvcPager進行分頁。
Html.RenderPartial與Html.RenderAction的區別
在Razor視圖中語法不一樣:
@Html.Partial("PartialViewName")
@{ Html.RenderPartial("PartialViewName",Model); }
Html.RenderAction允許你直接調用某一個Action,並把返回的結果直接顯示在當前調用的View中,在Control中有一個方法並返回PartialView
Html.RenderPartial不經過Control直接通過引用頁傳入的Model描繪數據