色尼玛亚洲综合影院,亚洲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è)置過濾條件就可以了。比如,當(dāng)在頁面中顯示產(chǎn)品的信息時,你可以使用該控件去顯示那些在某個價格范圍的產(chǎn)品,也可以搜索用戶指定名稱的產(chǎn)品。

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

  首先要注意的是,QueryExtender控件只能配合LinqDataSource和EntityDatasource使用。它不能去過濾SqlDataSource控件的數(shù)據(jù)集。當(dāng)然,使用該控件的話,你必須使用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)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 全椒县| 额尔古纳市| 乌拉特后旗| 宜宾县| 本溪| 瑞安市| 察隅县| 祁阳县| 屯留县| 绥化市| 买车| 芒康县| 大同市| 天镇县| 图们市| 河西区| 永善县| 太谷县| 大新县| 黄大仙区| 江西省| 石嘴山市| 莱阳市| 井冈山市| 尼木县| 天水市| 永登县| 兴文县| 修武县| 枣庄市| 甘孜| 革吉县| 苍南县| 娄烦县| 周口市| 靖边县| 离岛区| 长兴县| 潜山县| 郁南县| 桂平市|