色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

ASP.NET 4過濾數(shù)據(jù)新控件QueryExtender

  在ASP.NET 4中的一個新的控件是QueryExtender。QueryExtender控件是為了簡化LinqDatasource或EntityDataSource控件返回的數(shù)據(jù)過濾而設(shè)計的,它主要是將過濾數(shù)據(jù)的邏輯從數(shù)據(jù)控件中分離出來。使用QueryExtender是十分容易的事,只需要簡單往頁面上增加一個QueryExtender控件,指定其數(shù)據(jù)源是哪個控件并設(shè)置過濾條件就可以了。比如,當在頁面中顯示產(chǎn)品的信息時,你可以使用該控件去顯示那些在某個價格范圍的產(chǎn)品,也可以搜索用戶指定名稱的產(chǎn)品。

  當然,不使用QueryExtender控件的話,LinqDataSource和EntityDataSource也是可以過濾數(shù)據(jù)的。這兩個控件都有一個where的屬性,可以指定過濾數(shù)據(jù)的條件。QueryExtender提供的是一種更簡單的方式去過濾數(shù)據(jù)。本文包含了一系列的例子(可以,在本文最后下載),展示了QueryExtender的強大威力。

  首先要注意的是,QueryExtender控件只能配合LinqDataSource和EntityDatasource使用。它不能去過濾SqlDataSource控件的數(shù)據(jù)集。當然,使用該控件的話,你必須使用LINQ或者ADO.NET Entity框架。對這兩者的討論已經(jīng)超出本文討論的范圍。簡而言之,LINQ和Entity Framework是微軟的對象關(guān)系映射工具,使用的是LinqDataSource和EntityDataSource兩個控件,它們允許開發(fā)通過ORM的解決方案去訪問數(shù)據(jù)庫。

  本文附錄的代碼下載中,提供的例子使用的是ADO.NET Entity框架,并對Northwind數(shù)據(jù)庫中的Products,Categories和Suppliers三張表進行了實體建模。其中數(shù)據(jù)庫文件Northwind.mdf位于網(wǎng)站的App_Data目錄下,App_Code目錄下則有ADO.NET Entity框架的建模文件Northwind.edmx,它定義了對象實體和數(shù)據(jù)庫表之間的關(guān)系。

  正如在本文介紹部分所說的,QueryExtender控件是配合LinqDatasource 和EntityDataSource 控件使用的。考察一個頁面,允許用戶輸入一個最小的價格,之后就能顯示小于或等于這個價格的所有產(chǎn)品。這個很容易用如下代碼實現(xiàn): 

<b>Show All Prices Less Than:</b>
$
<ASP:TextBox ID="txtMaxPrice" runat="server"></ASP:TextBox>
<ASP:Button ID="btnDisplayProducts" runat="server" Text="Show Products" />
<ASP:GridView ID="gvProducts" runat="server" DataSourceID="dsProducts" ...>
...
</ASP:GridView> <ASP:EntityDataSource ID="dsProducts" runat="server"
ConnectionString
="name=NorthwindEntities"
DefaultContainerName
="NorthwindEntities" EnableFlattening="False"
EntitySetName
="Products" Where="it.UnitPrice <= @UnitPrice">
<WhereParameters>
<ASP:ControlParameter ControlID="txtMaxPrice" Name="UnitPrice"
PropertyName
="Text" Type="Decimal" />
</WhereParameters>
</ASP:EntityDataSource>

NET技術(shù)ASP.NET 4過濾數(shù)據(jù)新控件QueryExtender,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 即墨市| 科尔| 潼南县| 马山县| 临汾市| 会昌县| 兴义市| 全椒县| 大邑县| 仙桃市| 中阳县| 澄迈县| 苍南县| 定结县| 崇礼县| 石棉县| 霍林郭勒市| 三门峡市| 眉山市| 华阴市| 长子县| 吴桥县| 平顺县| 贵德县| 万盛区| 肇庆市| 抚州市| 大庆市| 共和县| 佳木斯市| 临安市| 白河县| 八宿县| 新蔡县| 子长县| 长子县| 秦皇岛市| 长汀县| 齐齐哈尔市| 合水县| 库伦旗|