成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET MVC 3 Beta初體驗之WebGrid

開發 后端
在ASP.NET MVC 3 Beta發布后很多.NET程序員關心他的一些新功能。不過今天我們要講的,卻是WebGrid,將分別介紹在aspx視圖引擎和Razor視圖引擎中如何使用它

ASP.NET MVC 3 Beta中除了推出一種新的視圖引擎Razor。還推出了幾種新的HtmlHelper。我比較關注的是WebGrid,這篇文章將介紹一下WebGrid的使用。WebGrid提供了分頁和排序的功能,在此之前在MVC中分頁和排序時需要自己去寫的。這篇文章將分別介紹在aspx視圖引擎和Razor視圖引擎中如何使用它。

我通過ADO.NET Entity Data Model從NORTHWND的Products中表中取數據。在Controller中取數據:

  1. public class HomeController : Controller      
  2. {        public ActionResult Index()         
  3.  {             
  4.  NORTHWNDEntities entity = new NORTHWNDEntities();              
  5. return View( entity.Products.ToList());        
  6.   }     }  

在aspx視圖引擎中使用WebGrid代碼如下:

  1.  <div id="grid">   
  2. <% var grid = new WebGrid(source: Model, defaultSort: "ProductName", rowsPerPage: 5); %>   
  3. <%=grid.GetHtml(       
  4. tableStyle: "grid",       
  5. headerStyle: "head",       
  6. alternatingRowStyle: "alt",       
  7. columns: grid.Columns(                 
  8. grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { id = item.ProductID })),                 
  9. grid.Column(format: (item) => Html.ActionLink("Delete", "Delete", null, new { onclick = string.Format("deleteRecord('Employee', '{0}')", item.ProductID), @class = "Delete"href = "JavaScript:void(0)" })),                 
  10. grid.Column("ProductName","產品名稱"),               
  11. grid.Column("QuantityPerUnit","每單位數量"),                 
  12. grid.Column("UnitPrice","單價"),               
  13. grid.Column("UnitsInStock", "庫存單位"),               
  14. grid.Column("UnitsOnOrder","訂單單位"),               
  15. grid.Column("ReorderLevel","重新排序級別"),               
  16. grid.Column("Discontinued","已停產")     )     )    %>
  17.  </div> 

在Razor中使用WebGrid代碼如下:

  1.  <div id="grid"> 
  2. @{    
  3. var grid = new WebGrid(source: Model,  
  4. defaultSort: "ProductName",   
  5. rowsPerPage: 10);  
  6. }  
  7. @grid.GetHtml(  
  8. tableStyle: "grid",  
  9. headerStyle: "head",  
  10. alternatingRowStyle: "alt",  
  11. columns: grid.Columns(  
  12. grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { id = item.ProductID })),  
  13. grid.Column(format: (item) => Html.ActionLink("Delete", "Delete", null, new { onclick = string.Format("deleteRecord('Product', '{0}')", item.ProductID), @class = "Delete"href = "JavaScript:void(0)" })),   
  14. grid.Column("ProductName","產品名稱"),  
  15. grid.Column("QuantityPerUnit","每單位數量")  
  16. ,grid.Column("UnitPrice","單價"),  
  17. grid.Column("UnitsInStock", "庫存單位"),  
  18. grid.Column("UnitsOnOrder","訂單單位"),  
  19. grid.Column("ReorderLevel","重新排序級別"),  
  20. grid.Column("Discontinued","已停產")))</div> 

WebGrid構造函數如下:

  1. public WebGrid(IEnumerable<dynamic> source, 
  2. IEnumerable<string> columnNames = null
  3. string defaultSort = null
  4. int rowsPerPage = 10, 
  5. bool canPage = truebool canSort = true
  6. string ajaxUpdateContainerId = null
  7. string fieldNamePrefix = null
  8. string pageFieldName = null
  9. string selectionFieldName = null
  10. string sortFieldName = null
  11. string sortDirectionFieldName = null);  
  12.  

常見參數意思是:

1、source 表示數據源

2、columnNames表示顯示的列

3、defaultSort 默認按什么排序

4、rowsPerPage 每頁多少行數據

5、canPage 是否能排序

上面兩段代碼的意思是定義了一個既分頁又能排序的grid。

運行:

在看看兩個view的完整代碼:

aspx:

  1. <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<List<WebGridAspx.Models.Products>>" %> 
  2. <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">      
  3. 產品列表  
  4. </asp:Content> 
  5. <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
  6. <script  type="text/javascript">    
  7. function deleteRecord(a, b) {          
  8. alert("刪除:"+b);     
  9.  }</script> 
  10.  <h2>產品列表</h2>    
  11. <div id="grid">   
  12. <% var grid = new WebGrid(source: Model, defaultSort: "ProductName", rowsPerPage: 5); %>   
  13. <%=grid.GetHtml(       
  14. tableStyle: "grid",       
  15. headerStyle: "head",       
  16. alternatingRowStyle: "alt",       
  17. columns: grid.Columns(                
  18.  grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { id = item.ProductID })),                 
  19. grid.Column(format: (item) => Html.ActionLink("Delete", "Delete", null, new { onclick = string.Format("deleteRecord('Employee', '{0}')", item.ProductID), @class = "Delete"href = "JavaScript:void(0)" })),                 
  20. grid.Column("ProductName","產品名稱"),               
  21. grid.Column("QuantityPerUnit","每單位數量"),                 
  22. grid.Column("UnitPrice","單價"),               
  23. grid.Column("UnitsInStock", "庫存單位"),               
  24. grid.Column("UnitsOnOrder","訂單單位"),               
  25. grid.Column("ReorderLevel","重新排序級別"),               
  26. grid.Column("Discontinued","已停產")     )     )    %> 
  27. </div></asp:Content> 

Razor:

代碼 

  1.  @model List<WebGridRazor.Models.Products> @{  View.Title = "產品列表"; } <p> 
  2. <h2>產品列表</h2>  <div id="grid">  @{       
  3. var grid = new WebGrid(source: Model,  defaultSort: "ProductName",   rowsPerPage: 3); }  @grid.GetHtml(       
  4. tableStyle: "grid",       
  5. headerStyle: "head",       
  6. alternatingRowStyle: "alt",       
  7. columns: grid.Columns(            
  8. grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { id = item.ProductID })),          
  9. grid.Column(format: (item) => Html.ActionLink("Delete", "Delete", null, new { onclick = string.Format("deleteRecord('Product', '{0}')", item.ProductID), @class = "Delete"href = "JavaScript:void(0)" })),             
  10. grid.Column("ProductName","產品名稱"),          
  11. grid.Column("QuantityPerUnit","每單位數量"),          
  12. grid.Column("UnitPrice","單價"),            
  13. grid.Column("UnitsInStock", "庫存單位"),          
  14. grid.Column("UnitsOnOrder","訂單單位"),          
  15. grid.Column("ReorderLevel","重新排序級別"),          
  16. grid.Column("Discontinued","已停產")     )     )   
  17. </div> </p> 

Razor去掉了那些模板頁的代碼,使代碼看起來更整潔。比較喜歡Razor。

總結:本文很簡單,介紹了一下ASP.NET MVC 3 Beta中新功能WebGrid,由于這種方式WebGrid是在內存中分頁和排序的,所以不適合大數據量。

源碼下載地址:http://down.51cto.com/data/134994

原文標題:ASP.NET MVC 3 Beta之WebGrid的使用

鏈接:http://www.cnblogs.com/zhuqil/archive/2010/10/17/ASP-NET-MVC-3-Beta-WebGrid.html

【編輯推薦】

  1. 詳解ASP.NET MVC 3 beta新特性
  2. .Net平臺下的分布式緩存設計
  3. .Net平臺開源項目五年發展回顧
  4. .NET平臺上Web開發的未來?
  5. .NET開發人員應該關注的七個開源項目
責任編輯:彭凡 來源: 博客園
相關推薦

2010-10-12 09:52:02

ASP.NET MVC

2010-10-20 09:05:16

ASP.NET MVC

2009-07-20 16:44:56

ASP.NET MVCIValueProvi

2009-07-23 10:08:24

asp.net mvc

2010-12-07 09:38:15

ASP.NET MVC

2010-06-23 15:44:03

ASP.NET MVC

2009-07-31 12:43:59

ASP.NET MVC

2009-07-24 13:20:44

MVC框架ASP.NET

2010-06-25 08:51:46

ASP.NET MVC

2014-07-29 10:00:30

ASP.NETMVCAutoFac

2011-09-28 13:48:06

Visual Stud

2009-07-28 17:17:19

ASP.NET概述

2011-01-15 23:07:59

2009-07-20 10:53:59

ASP.NET MVC

2009-07-22 10:09:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC

2009-07-22 13:24:24

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC

2011-01-28 09:45:29

ASP.NET MVC

2011-04-14 09:19:22

ASP.NET MVC
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天操天天操 | 日韩a在线 | 国产精品欧美一区二区三区不卡 | 91久久国产综合久久91精品网站 | 亚洲 日本 欧美 中文幕 | 色爱综合网| 亚洲精品视频在线观看视频 | 国产精品视频入口 | 国产在线看片 | 国产1区2区在线观看 | 亚洲精品福利在线 | 中文字幕 国产 | 欧美日韩在线成人 | 国产在线精品一区二区 | 综合久久亚洲 | 欧美11一13sex性hd | 久久国产精品视频观看 | 久久综合狠狠综合久久综合88 | 神马久久av| 一区二区三区亚洲 | 国产一区二区在线免费播放 | 国产一区 在线视频 | 亚洲成av| 91免费电影| 日韩在线观看一区 | 国产成人精品久久二区二区91 | 亚洲精品片 | 天天操天天干天天透 | 99久久久国产精品免费消防器 | 国产精品色 | 夜夜久久 | 亚洲一区二区三区视频在线 | 亚洲视频在线观看免费 | 日韩午夜影院 | 欧美一级α片 | 精品一区二区久久久久久久网站 | 久久久91精品国产一区二区三区 | 久久久久亚洲精品 | 中文字幕日韩专区 | 在线精品一区 | 中文字幕第90页 |