天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

ASP.NET MVC中對數據進行排序的方法

  本系列是講解如何在ASP.NET mvc中對數據進行展示、排序、分頁等的系列文章。在上周的文章中,一步一步教會了大家如何使用ASP.NET MVC框架去的展示數據。在上周的文章中,我們先用Visual Studio創建了一個新的ASP.NET MVC應用程序,接著連接到了Northwind數據庫,并展示了如何使用微軟的LINQ-SQL的工具去訪問數據庫中的數據,接著指導如何去實現視圖層去展示產品信息及如何設計控制器。

  本文是在上一篇文章的例子基礎上,展示了如何去實現數據的雙向排序。如果你是已經熟悉ASP.NET WebForm開發的開發者,你應該知道,在GridView控件中可以很簡單的通過點擊就能實現排序。但可惜的是,在ASP.NET MVC中實現排序的功能并不是那么簡單,但工作量也沒有顯著增多。在ASP.NET MVC中,我們能更多地控制網格和排序的界面布局和標記,以及通過何種機制來實現排序。以往使用GridView控件時,排序是通過將參數以POSTBACK的形式回傳到后臺,以決定用什么樣的列進行排序以及是以升序或降序-排列,回傳的參數作為隱藏表單域提交。在本文中,我們將使用查詢字符串參數來指定排序參數,這意味著排序的順序可以被搜索引擎搜索到,能通過電子郵件發送給同事,還能做很多GridView內置排序功能不能實現的事情。

  與上一篇文章一樣,本文提供了分步的指導說明,包括一個完整的可以工作的代碼例子,在文章末尾可以下載。

  步驟0:一個簡要指南

  本文將介紹如何實現雙向的排序,并假定讀者已經閱讀掌握了上一篇文章介紹的內容。

  在上一篇文章中,我們可以通過ASP.NET MVC中的URL轉發功能,以下面的地址形式訪問產品的首頁:

  www.yoursite.com/Products/Index(可以簡寫成www.yoursite.com/Products)。本文中,我們將用下面的URL去訪問要排序的內容:

  www.yoursite.com/Products/Sortable?sortBy=ColumnNameascending=true|false。

  具體的一些例子如下:

  /Products/Sortable- 這表示按默認順序排列產品。當沒指定排序的列時,默認按產品名稱的字母順序(如升序)排列。換句話說,如果SortBy參數沒有提供,按產品名稱排序,如果不提供ascending參數,按遞增順序排列。

  /Products/Sortable?sortBy=UnitPrice 按單價的升序排序產品。

  /Products/Sortable?sortBy=UnitPriceascending=false – 按UnitPrice列降序排序(即從最昂貴的到價格最便宜的)。

  跟使用GridView控件一樣,在點擊網格中標題行中的列名時可以進行。但不同于GridView的是,我們每次點列的這些標題,是以超鏈接的形式實現的,并且帶有參數,比

  如表格中有價格這個列,當第一次點擊列名時,將以

  www.yoursite.com/Products/Sortable?sortBy=UnitPriceascending=true的形式發送鏈接到后端,請注意的是,在網格中顯示的列名,不一定跟在URL中sortBy查詢字符串參數中傳遞的名稱是一樣的。sortBy 參數提供的是在數據庫中的列名,兩者并不要求一定相同。

  步驟1:創建指定的視圖模型

  在上一篇文章的演示中,我們使用了產品的集合作為其實體模型(以NorthwindDataContext去命名)。這對簡單的網格來說是可以的,但對于要排序的數據表格,需要知道一點的不僅僅是產品的集合,還要視圖層方面知道哪些列的數據需要進行排序,是按升序或降序排序,如果用戶要點的列已經按某一個順序已排序的話,則此時會按原來的順序排序(假設某列已經是按升序排列,用戶點標題一次,則倒過來按降序排列,再點一次,又按升序,如此類推)。

  為此,我們添加一個新類,這些類被稱為特定視圖服務的模型,打開上一篇文章中已經實現的應用程序,在Models文件夾下添加一個名為ProductGridModel.cs 的文件,代碼如下:

namespace Web.Models
{
public class ProductGridModel
{
// Data properties
public IEnumerable Product Products { get; set; }



// Sorting-related properties
public string SortBy { get; set; }
public bool SortAscending { get; set; }
public string SortExpression
{
get
{
return this.SortAscending ? this.SortBy + " asc" : this.SortBy + " desc";
}
}
}
}

NET技術ASP.NET MVC中對數據進行排序的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 背着老婆爆操性感小姨子 | 精品免费在线视频 | 国产盗摄TP摄像头偷窥 | 美女诱惑性感揉胸 | 亚洲狠狠网站色噜噜 | 日本污ww视频网站 | 渔夫床满艳史bd高清在线直播 | 國產日韓亞洲精品AV | 超碰97av 在线人人操 | 忘忧草研究所 麻豆 | 日韩精品a在线视频 | 亚洲欧美日韩中字视频三区 | 色翁荡息又大又硬又粗又爽电影 | 俺来也俺去也视频久久 | 极品美女穴 | 57PAO强力打造高清免费 | 国产精品久久久久久人妻精品蜜桃 | 秋霞电影院午夜伦高清 | 久操久操久操 | 晓雪老师我要进你里面好爽 | 456亚洲人成在线播放网站 | 中文无码不卡的岛国片国产片 | 亚洲地址一地址二地址三 | 伊人久久中文大香线蕉综合 | 亲胸摸下面激烈免费网站 | 全黄h全肉细节文在线观看 全黄H全肉细节文短篇 | 最近最新的日本字幕MV | 国产精片久久久久久婷婷 | 中文字幕无码亚洲字幕成A人蜜桃 | 国产亚洲精品V在线观看一 国产亚洲精品a在线观看app | 国产国产成年在线视频区 | 成电影人免费网站 | 亚洲一区在线观看无码欧美 | 国产成人精品自拍 | 欧美18精品久久久无码午夜福利 | 成人区精品一区二区不卡AV免费 | 青草在线观看视频 | 精品视频免费在线 | a视频在线免费观看 | 最近免费中文字幕MV免费高清 | 亚洲狠狠97婷婷综合久久久久 |