问题标签 [linqdatasource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
270 浏览

.net - 第二次重新绑定Repeater时(第一次在Page_Load中,第二次在Page_Prerender中)出现重复行

我设计了一个用户控件来向用户显示问题列表。这个“问题列表”控件只包含一个转发器。有多种类型的问题和表单字段必须用于回答问题,因此它们被实现为一系列“问题输入”控件,这些控件动态加载到 ItemTemplate 中。每个问题输入控件都包含一个按钮,用于提交该问题的答案。提交的答案通常会更改问题列表,因此在提交任何答案并保存到数据库后,我希望问题列表能够重新生成。

以上都正常工作,除了在提交答案后反弹问题列表时,新列表包含重复的行并且还缺少一行,如下所示:

原名单:

新列表(第二季度重复和第四季度缺失):

我在动态加载的问题输入控件上获得答案提交以重新绑定问题列表的方式是这样的:

在问题列表控件的 Page_Load 中,如果 Page.IsPostBack 为 true,我将调用 Repeater.DataBind()。这将重新创建问题输入控件并触发其按钮单击事件。第一个挑战是这些事件在父控件的 Page_Load 完成后触发,但我找到了一种在父控件上创建“ForceReload”属性的方法,问题输入控件可以在其按钮单击事件中设置为 True。因此,在问题列表控件的 Page_PreRender 中,我检查 ForceReload=true 是否,如果是,则再次调用 Repeater.DataBind()。

正是在第二个数据绑定中发生了奇怪的事情。如果我单步执行代码,我可以看到与提交的问题相对应的 DataItem 出现了两次。但是,第二次运行的 SQL 查询与第一次运行的 SQL 查询相同,并且返回的记录相同(即第二次的结果中没有重复)。

我想我需要在第二次数据绑定之前做某种中继器“重置”,但看不到任何功能。

可能的原因....问题的唯一键在第一个数据绑定和第二个数据绑定之间发生变化。我知道这听起来很奇怪,但这就是数据库的工作方式——一个 qiven 问题在其“未回答”状态下可能有一个唯一 ID“-123”,然后在其“已回答”状态下有一个“123”。如果我强制 ID 保持不变,则不会出现问题。更改 ID 与数据源是视图而不是表这一事实有关,无论如何我对此无能为力。当中继器不知道唯一 ID 是什么时,它为什么还要关心?

更新:经过更多测试,它肯定是 LINQ 问题,而不是中继器或 SQL 问题。这是一个简单的例子:

第一次绑定时检索到的数据:

然后提交问题#2,并列出反弹。第二次绑定检索到的数据:

所以数据是完全正确的。然而,这被 LINQ 转换为具有以下属性的 4 个对象:

因此,在每个对象中,关键属性 (QuestionID) 是正确的,但是在问题更新后的对象中,其他属性是从先前的记录中提取的!

0 投票
2 回答
4145 浏览

asp.net - LinqDataSource 动态参数 - 使用 WhereParameters 强制进行 OR

在我的“选择”语句中,我需要在使用LinqDataSource 的 WhereParameters 集合时添加两个动态参数:

但是,系统将这些参数添加为AND,但我想执行OR为真的情况ORparameter 1parameter 2

如何才能做到这一点?

0 投票
1 回答
677 浏览

c# - 从 LinqDataSource 获取 Xml 列以显示在 GridView 中

我有一个 LinqDataSource 和一个显示表格的 GridView。xml类型的列不显示。我希望他们像在 Sql Server 查询输出中一样显示一些东西,并带有一个链接来显示可点击的 xml,尽管我可能没有考虑另一种方法(可能是 xml 数据的样式显示等)。 )。有两件事我想知道怎么做

  • 首先,将xml转换为字符串,并显示在表格中。也许前 30 个字符。
  • 最后,将 xml 设置为有用的样式,例如显示完整 xml 的可点击链接、子表或样式字符串。

所以下面的工作,并显示一个漂亮的表格,带有编辑和删除链接。但是缺少 Xml 字段。您将如何添加对 Xml 字段的支持?

Page_Load 目前是空的。

0 投票
2 回答
7949 浏览

c# - LinqDataSource:过滤并绑定到gridview

问题没有按照我想要的方式解决,但我继续感谢:ŁukaszW.pl 他的时间和精力。

我正在使用gridview控件和linqdatasource,它一切正常,我添加了searchBySubject的功能,我添加了WhereParameters,而不是绑定我的gridview(见下面的代码)但不知何故它没有返回任何行,我看到我有基于我正在搜索的行。

错误:

0 投票
2 回答
1028 浏览

asp.net - 如何在使用 LinqDataSource 过滤(动态)后刷新 gridview?

0 投票
1 回答
1849 浏览

asp.net - LinqDataSource - 过滤空值

我正在编写一个 ASP.Net Web 应用程序。我有listview,它的数据源是一个LinqDataSource。在我的数据库中,我有一个员工表,我正在尝试使用下拉列表按他们的团队过滤记录。这工作正常,直到我在下拉列表中选择“全部”。它返回除了 teamID 为空的员工之外的所有员工。如何返回 teamID 为空的记录?

这是我的代码:

在我后面的代码中,我处理了 LinqDataSource 选择事件:

我认为如果我在下拉列表为“全部”时删除了 where 参数,它将强制它返回所有记录,但它不起作用。

请帮忙!

谢谢,艾玛

0 投票
3 回答
748 浏览

c# - 如何使用 Linq2SQL 在 ASP.NET 和 C# 中查询未知数量的 where 参数?

我有一个 GridViewLinqDataSource用于从表中填充数据Tickets。有LinqDataSource这样AutoGenerateWhereClause="True"where 子句可以像这样动态构造:

Where 参数与网格视图标题上的下拉列表过滤器一起使用。它们可以为空,以便 dsGridView 将返回所有记录。

我的 gridview 启用了分页。

Table Ticket 有一个名为 的字段TimeSpent。我想计算TimeSpent所有过滤的票的总数并将其显示在页脚上。

我可以使用Linq2SQLongridView_DataBound来查询所有门票的 TimeSpent。但是,我很困惑如何在过滤 gridview 时获得总 TimeSpent。

我试图从 获取票证LinqDataSourceSelectEventArgs.Result,但它只返回 gridview 当前页面的总 TimeSpent,而不是整个表。

问题是,我不知道 Selecting 事件中会出现多少 Where 参数。Department 可以为 null 且不显示在 WhereParameters 中,Category 也可以。

像这样的东西:

当然不起作用。有什么想法可以解决这个问题吗?提前致谢!

更新:我最终在OnSelected事件中重用了从 dsGridView 返回的数据,如下所示:

0 投票
1 回答
768 浏览

c# - 在 Skip 和 Take 发生之前从 LinqDataSource 检索数据?

我有一个使用 LinqDataSource 的 GridView。GridView 具有默认的分页启用。我想在分页发生之前从 LinqDataSource 检索数据,以便我可以使用 Linq2SQL 计算整个数据库的单个列的总和。

现在,我正在使用LinqDataSource_Selectedevent with LinqDataSourceStatusEventArgs.Result,但它只返回分页后的数据(即该页面上的数据)。

所以我的问题是:如何在分页发生之前从 LinqDataSource 检索数据?

0 投票
1 回答
2244 浏览

asp.net - 显示带有空(linqdatasource)数据源的gridview的页脚

数据网格的数据源是一个依赖下拉列表值的 LINQDataSource。此外,我想使用页脚插入新记录 - 所以我不想使用空的数据集模板。我试图找到一种方法来始终显示页脚,无论数据源是否为空。

编辑:有没有办法在 LinqDataSource 中创建该类型的空/不可见对象?

0 投票
2 回答
3023 浏览

asp.net - 将 LinqDataSource 从代码隐藏绑定到 Gridview

我在 .aspx 页面上有一个 grdidview 控件,我试图从后面的代码动态连接并绑定 gridview,但不知何故它给我一个错误......这段代码有什么问题?有什么帮助吗?

更新:

在我将代码更新为

它工作正常,但是当我尝试排序时出现此错误:

GridView 'gvReport' 触发了未处理的事件排序。

我添加了这个但没有效果。