技术开发 频道

ASP.NET MVC3新功能之WebGrid查询绑定

    【IT168 技术文档】Microsoft Asp.Net MVC3 的Bate version Release有些日子了,园子里关于3所带的新功能、新组件及新方法使用的文章就出了很多,对其好坏我不做评价,但肯定的是,这些文章让我受益匪浅,感受良多。之前做过Asp.Net MVC Version 1的项目,Version1里面的很多功能都比较不完善,但开发出来的效果还是可以令人满意的,特别是在加载速度、代码修改和更新部署上有特别的优势。今天我们将就3的Bate Version所带的WebGrid进行以下两点描述:1.查询条件的绑定,2. WebGrid Sorting Ajax的实现,本文在代码编写上使用的是MVC3新提供的Razor方式(优点:因为它及大的简单了代码的书写;缺点:当前版本没有智能代码提示),可参考Asp.Net MVC3 Razor

  一、本文内容

  WebGrid的使用

  WebGrid Sorting(排序) Ajax的实现

  WebGrid Search Conditions(查询条件)的绑定

  总结

  代码下载 (下载)

  二、MVC3 WebGrid 小试

  1. WebGrid的使用

  WebGrid的使用园子里已经有很多相关的文章了,也不是我们的重点,在这里我们只提供一个示例,为下面代码的描述作比较。

  Action:

public ActionResult Gridview()
         {
             DALDataContext da
= new DALDataContext();
             var result
=da.T_STUDENTs.ToList();
             this.ViewData.Model
= result;
             return View();
         }

 

  View:(如果对其中的属性不明白,请参考下面四中的内容

@using MVC3Tutorial;
@model List
<T_STUDENT>
@{
     View.Title
= "Gridview";
     Layout
= "~/Views/Shared/_Layout.cshtml";
}
  
@{
     var grid
= new WebGrid(source:Model,
     fieldNamePrefix:
"grid_",
     defaultSort:
"StudentName",
     canPage:
true,
     canSort:
true,
     ajaxUpdateContainerId:
"DivGrid",
     pageFieldName:
"paging",
     sortFieldName:
"sortField",
     rowsPerPage:
10);

    
<div id="DivGrid">
     @grid.GetHtml(
         columns:grid.Columns(
             grid.Column(
"StudentID", "Student ID"),
             grid.Column(
"StudentName", "Student Name"),
             grid.Column(
"StudentCode", "Student Code"),
             grid.Column(
"Sex", "Sex"),
             grid.Column(
"NRICPassport", "NRIC/Passport No.")
        )
     )
    
</div>
    
<h2>
     Page Count:
     @Html.Encode(grid.PageCount)
    
<br/>
     Total Record:
     @Html.Encode(grid.TotalRowCount)
    
</h2>
     @Html.Encode(grid.FieldNamePrefix)
38 }

 

  上面我们就实现了对WebGrid的使用,得到结果如下:

1 

 

0
相关文章