LinqDataSource控件剖析

本文向大家介绍LinqDataSource控件,可能好多人还不了解LinqDataSource控件,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

今天下午有人在论坛咨询LinqDataSource控件如何进行组合字段数据显示在下列列表中,其实,很简单,就是使用new 重新生成一个临时类即可。下面是完整的代码。

C# 代码

 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Web;  
  4.  
  5. /// <summary> 
  6. ///Books 的摘要说明  
  7. /// </summary> 
  8. public class Books  
  9. {  
  10. public int Id { get; set; }  
  11. public String Author { get; set; }  
  12. public String Title { get; set; }  
  13. public DateTime PunDate { get; set; }  
  14.  
  15. public Books() { }  
  16.  
  17. public List<Books> GetBooks  
  18. {  
  19. get  
  20. {  
  21. return this.GetInternalBooks();  
  22. }  
  23. }  
  24.  
  25. internal List<Books> GetInternalBooks()  
  26. {  
  27. List<Books> bs = new List<Books>();  
  28. bs.Add(new Books { Id = 1Author = "孟宪会"Title = "《ASP.NET 2.0 应用开发技术》"
    PunDate = System.DateTime.Now.AddMonths(-10) });  
  29. bs.Add(new Books { Id = 2Author = "孟宪会"Title = "《Eric Meyer谈CSS(卷2)》"
    PunDate = System.DateTime.Now });  
  30. bs.Add(new Books { Id = 3Author = "孟宪会"Title = "《Eric Meyer谈CSS(卷1)》"
    PunDate = System.DateTime.Now.AddMonths(+10) });  
  31. return bs;  
  32. }  

ASPX 代码

 
 
 
  1. <%@ Page Language="C#" %> 
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <html xmlns="http://www.w3.org/1999/xhtml"> 
  4. <head runat="server"> 
  5. <title></title> 
  6. </head> 
  7. <body> 
  8. <form id="form1" runat="server"> 
  9. <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="LinqDataSource1" 
  10. DataTextField="DataText" DataValueField="Id"> 
  11. </asp:DropDownList> 
  12. <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
    ContextTypeName="Books" TableName="GetBooks" 
  13. Select='new(Id,Id.toString() + "--" + Author + "--" + 
    Title + "--" + PunDate.ToString("yyyy-MM-dd") as DataText)'
    > 
  14. </asp:LinqDataSource> 
  15. </form> 
  16. </body> 
  17. </html> 

***的执行结果将是下面的样子:

HTML 代码

 
 
 
  1. <select name="DropDownList1" id="DropDownList1"> 
  2. <option value="1">1--孟宪会--《ASP.NET 2.0 应用开发技术》--2008-07-31</option> 
  3. <option value="2">2--孟宪会--《Eric Meyer谈CSS(卷2)》--2009-05-31</option> 
  4. <option value="3">3--孟宪会--《Eric Meyer谈CSS(卷1)》--2010-03-31</option> 
  5. </select> 

本文目的在于示例一下 LinqDataSource控件的 Select 属性的写法。

【编辑推荐】

  1. LINQ to SQL数据表介绍
  2. LINQ查询的目的与实现手段
  3. LINQ from子句进行复合查询实现方法
  4. LINQ查询表达式功能详解
  5. LINQ基础概念总结
THE END