首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

DataList 自訂顯示筆數:以 LINQ to SQL 取代 LinqDataSource 實作

     編輯:ASP.NET 基礎

LinqDataSource 雖方便,但無法直接限制繫結筆數(如「只取最新 1 筆」)。解法是在後置程式碼以 LINQ to SQL 查詢並 Take(N),再手動指派給 DataList.DataSource 並呼叫 DataBind()。

實作範例

var ctx = new PEAEWebSiteDataContext();

// 校園資訊:最新 1 筆
var campus = ctx.tb_News.Where(n => n.cname == "校園資訊")
                        .OrderByDescending(n => n.issuedate)
                        .Take(1);
DataList1.DataSource = campus;
DataList1.DataBind();

// 活動安排:最新 1 筆
var activity = ctx.tb_News.Where(n => n.cname == "活動安排")
                          .OrderByDescending(n => n.issuedate)
                          .Take(1);
DataList2.DataSource = activity;
DataList2.DataBind();

關鍵點

  • OrderByDescending 確保取得最新資料
  • Take(1) 於 SQL 轉譯為 TOP 1,效能佳
  • 避免 LinqDataSource 的 Selecting 事件複雜邏輯,程式碼更直觀可控

此模式適用於任何需「固定筆數、排序、分組」的繁雜繫結場景,建議集中在 Page_Load 或專屬 BindData() 方法中,維護性佳。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved