QueryExtender控件之PropertyExpression

来源:互联网 发布:台儿庄战役知乎 编辑:程序博客网 时间:2024/06/01 09:02

本文部分摘自《ASP.NET4权威指南》
相对于其他表达式类,PropertyExpression 类比较简单,它将列的属性值与指定的值进行比较。它为每个参数的值和 IQueryable 数据对象的相应属性创建一个相等(==)比较。如果提供多个参数,将使用逻辑 AND 运算符组合这些参数,包含空值的参数不添加到 Where 子句中。
下面的示例程序演示了如何在ASP.NET4数据库的Employee数据表的EmployeeName列中,搜索员工姓名等于SearchTextBox文本框中指定的值的员工信息。从LinqDataSource 控件返回的结果显示在 GridView 控件中。如代码清单10-5所示:
代码清单10-5PropertyExpressionTest.aspx

Code:
  1. <form id="form1" runat="server">   
  2. 搜索员工姓名:   
  3. <asp:TextBox ID="SearchTextBox" runat="server" />   
  4. <asp:Button ID="Button1" runat="server" Text="搜索" />   
  5. <br />   
  6. <br />   
  7. <asp:LinqDataSource ID="LinqDataSource1"    
  8. TableName="Employees" runat="server"  
  9.  ContextTypeName="_10_2.EmployeesDataContext"  
  10.  EntityTypeName="" Select="new (employeeid, employeename,   
  11.  department, address, email, workdate)">   
  12. </asp:LinqDataSource>   
  13. <asp:QueryExtender ID="QueryExtender1" runat="server"  
  14.  TargetControlID="LinqDataSource1">   
  15.     <asp:PropertyExpression>   
  16.         <asp:ControlParameter ControlID="SearchTextBox"  
  17.  Name="employeename" />   
  18.     </asp:PropertyExpression>   
  19. </asp:QueryExtender>   
  20. <asp:GridView ID="GridView1" runat="server" Width="100%"  
  21.  DataSourceID="LinqDataSource1"  
  22.  AllowPaging="True" AutoGenerateColumns="False"    
  23. DataKeyNames="employeeid">   
  24.     <Columns>   
  25.         <asp:BoundField DataField="employeeid" HeaderText="编号"  
  26.  ReadOnly="True" SortExpression="employeeid" />   
  27.         <asp:BoundField DataField="employeename" HeaderText="姓名"  
  28.  SortExpression="employeename" />   
  29.         <asp:BoundField DataField="department" HeaderText="部门"  
  30.  SortExpression="department" />   
  31.         <asp:BoundField DataField="address" HeaderText="住址"  
  32.  SortExpression="address" />   
  33.         <asp:BoundField DataField="email" HeaderText="邮箱"  
  34.  SortExpression="email" />   
  35.         <asp:BoundField DataField="workdate" HeaderText="工作时间"  
  36.  SortExpression="workdate" />   
  37.     </Columns>   
  38. </asp:GridView>   
  39. </form>  

示例运行结果图10-24所示:                                                        

10-24:示例运行结果
本文部分摘自《ASP.NET4权威指南》

原创粉丝点击