c# - LinqDataSource - 你能限制返回记录的数量吗?

标签 c# asp.net database linq linq-to-sql

我想在页面上使用 LinqDataSource 控件并限制返回的记录数量。我知道如果我使用代码隐藏我可以做这样的事情:

IEnumerable<int> values = Enumerable.Range(0, 10);
IEnumerable<int> take3 = values.Take(3);

有谁知道这样的事情是否可以通过 LinqDataSource 控件实现?

[更新]

我打算将 LinqDataSourceListView 控件一起使用,不是 GridView 或 Repeater。 LinqDataSource 向导不提供限制返回记录数的功能。高级选项仅允许您启用删除、插入和更新。

最佳答案

我遇到了同样的问题。我解决这个问题的方法是使用 LinqDataSource 上的 Selecting 事件并手动返回结果。

例如

protected void lnqRecentOrder_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
    DataClassesDataContext dx = new DataClassesDataContext();
    e.Result = (from o in dx.Orders
                where o.CustomerID == Int32.Parse(Request.QueryString["CustomerID"])
                select o).Take(5);
}

关于c# - LinqDataSource - 你能限制返回记录的数量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4221/

相关文章:

c# - 为什么我的单例有两个不同的实例?

c# - EVENTTARGET 确定发件人时出现问题

MySQL 按范围更改表分区 - 错误代码 : 1503. 主键必须包含表分区函数中的所有列

mysql - 使用表单中的搜索字段提供来自 mysql 的数据

Asp.net 核心授权在失败时重定向到指定路径

mysql - mysql 中是否可以使用 getter then 运算符?

c# - 如何用java或C#解析包含utf-8字符的pdf文件

c# - @Html.EditorFor(m => m) MVC 中的 lambda 语法

c# - 是否可以使用IOC来解析viewengine?

javascript - asp.net 中的桌面通知