问题标签 [objectdatasource]

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 投票
3 回答
443 浏览

c# - 为什么 ObjectDataSource 的匹配算法不如……灵活?


即使UpdateNames存储过程只接受一个名为@First的参数,我们仍然可以定义名为Last的附加参数,并且更新仍然会成功:


但是在处理 ObjectDataSource 控件时,ObjectDataSource 中定义的参数个数必须与UpdateNames()方法中定义的参数个数完全匹配。因此,如果UpdateNames()只接受一个名为First的参数,以下将导致异常


A) 为什么 ObjectDataSource 的匹配算法不如 SqlDataSource 的匹配算法灵活,从而忽略任何额外的参数?


谢谢

0 投票
2 回答
924 浏览

c# - 我假设 SqlParameter.IsNullable 仅在……时才有意义?

1) 当SqlParameter.IsNullable设置为 时true,接收到的null值被转换DBNull.Value并发送到数据库。因此,我假设设置IsNullable为仅在 GridView也设置为true时才有意义?Parameter.ConvertEmptyStringToNulltrue

2) GridView 和 ObjectDataSource 的参数都有一个ConvertEmptyStringToNull属性。但是是否有过这种情况(尝试更新数据源时):

• 我们应该将GridView 设置Parameter.ConvertEmptyStringToNulltrue,然后将ObjectDataSource 设置Parameter.ConvertEmptyStringToNullfalse?!

• 或者我们应该将 GridView 设置Parameter.ConvertEmptyStringToNulltrue,而将 SqlDataSource设置SqlParameter.IsNullablefalse

0 投票
1 回答
8289 浏览

asp.net - ObjectDataSource 插入方法

我有一个绑定到 DetailsView 控件的 ObjectDataSource。我在业务层(调用数据层)中编写了插入方法,一切正常......直到我想在插入方法触发之前做其他事情。在进入我的业务层之前,我需要访问文件上传控件。因此,我在 DetailsView 上连接了一个 ItemCommand 事件 - 它接收该事件,我可以使用 FileUpload 控件执行我需要的操作。在那种情况下,我调用业务层中的插入方法 - 与 ObjectDataSource 控件中指定的方法相同。但是 Insert 方法会触发两次!在考虑了一分钟后,我意识到这是预期的行为——它在从 ItemCommand 事件调用时触发一次,第二次从 ObjectDataSource InsertMethod 触发。

我想我可以简单地从 ObjectDataSource 中删除 InsertMethod 属性来消除该方法的双重触发,但是当我这样做时,我得到了这个错误:

ObjectDataSource 'objStudentDetails' 不支持插入,除非指定了 InsertMethod。

那么有什么方法可以告诉 ObjectDataSource 不要触发该方法吗?请参阅下面的代码简化代码:

0 投票
1 回答
3589 浏览

asp.net - Telerik Reporting 是否支持业务对象数据源?

我需要使用业务对象在三层模型中调用强类型表适配器。我还需要使用 Telerik 报告,我没有看到任何在线示例。我只看到了创建一个简单的选择到 Northwind 并将报表直接连接到它的简单示例。我正在使用 Telerik 2008 年第三季度的报告,我的设计师甚至与我看过的视频看起来都不一样。我有两个业务对象:boReportHeader 和 boReportLines,它们每个都有 4 个方法,这些方法将从 Ui 传递参数并且需要填充报告标题和详细信息部分。我花了一些时间尝试使用来自设计师和代码隐藏的 Telerik 报告中的这些,但我没有成功。我假设这会像 RadGrid 一样简单,但似乎并非如此。任何人都有使用带有参数的多个业务对象数据源作为 Telerik Reporting 数据源的经验?该项目的主要要求是生成一个 PDF 文件,该文件将作为 BLOB 文件存储在数据库中。如果 Telerik Reporting 无法做到这一点,那么除了 Telerik Reporting 之外,是否还有其他工具可以提供建议?

0 投票
3 回答
10048 浏览

asp.net - 如何使用带有 TemplateFields 的 ObjectDataSource 在 GridView 上进行排序

背景:

我正在使用 GridView 和 ObjectDataSource。我正在实现分页和排序。

在 ObjectDataSource 上:

在 GridView 上:

为了使分页和排序正常工作,我将“EnableSortingAndPagingCallbacks”设置为 True。之前,我收到“System.Web.HttpException:GridView 触发的事件排序未处理”。这解决了它。

如果我在我的 GridView 中只使用 BoundFields,这很好并且工作正常。

但是,如果我使用 TemplateFields,我会收到“NotSupportedException:TemplateField 不支持回调,因为某些控件无法在回调中正确更新。在 GridView 上关闭回调。”

这是有道理的。我只需要知道如何进行排序,而不使用 EnableSortingAndPagingCallbacks。

如果 EnableSortingAndPagingCallbacks = True:

  • 寻呼工程
  • 分拣作品
  • BoundFields 工作
  • 模板字段不起作用

如果 EnableSortingAndPagingCallbacks = False:

  • 寻呼工程
  • 排序不起作用_
  • BoundFields 工作
  • 模板字段工作

我的问题:

如何让分页、排序和模板字段同时工作?


关于实施的说明:

使用带有 GridView 的 ObjectDataSource 需要实现一个名为 Select 的方法,该方法提供排序表达式、要返回的行数和起始行:

具体的 SortExpression 在 aspx/ascx 中定义:

应该在单击列时传入并调用 ObjectDataSource 上的 Select 方法,但如果 EnableSortingAndPagingCallbacks = true 似乎不起作用,而是我得到关于未定义排序事件的异常。

0 投票
4 回答
28193 浏览

asp.net - 如何使用 GridView 和 ObjectDataSource 进行排序?

我有一个 GridViewObjectDataSource并且我希望能够对其进行排序。

分页工作正常,但是排序给了我一个例外:

GridViewgridView触发了未处理的事件排序。

如何在服务器端启用排序?

(即gridView.EnableSortingAndPagingCallbacks必须保持为假)

0 投票
3 回答
1264 浏览

asp.net - ASP.Net 用户控制

我正在尝试构建一个 ASP.net 用户控件,该控件使用Repeater 来遍历我需要传递给用户控件的ObjectDataSource 中的多个项目。我不确定如何传递对象数据源。有人知道怎么做吗?

0 投票
2 回答
4677 浏览

asp.net - ASP.NET DataSource & GridView 数据绑定,以编程方式设置参数值

所以,我有一个带有 ObjectDataSource 的 GridView,我想以编程方式设置 ObjectDataSource 的 SelectParameters 之一。

我试过(在 Page_Load 和 DropdownList__SelectedIndexChanged 期间)

但它没有用。你有什么建议?

0 投票
4 回答
4835 浏览

sql - sql字符串参数中应该转义哪些字符

我需要一个完整的字符列表,应该在 sql 字符串参数中转义以防止异常。我假设在将所有有问题的字符传递给我的 ObjectDataSource 过滤器参数之前,我需要用转义版本替换所有有问题的字符。

0 投票
1 回答
3549 浏览

objectdatasource - 过滤器表达式不起作用?为什么?

ObjectDataSource1.FilterExpression = "userid LIKE '{0}' AND action LIKE '{1}'"; ObjectDataSource1.FilterParameters.Add("userid", ddlUsers.SelectedValue); ObjectDataSource1.FilterParameters.Add("action", ddlAction.SelectedValue);

我喜欢这段代码。

当我运行它时,网格视图是空的。但是,当我编写和运行它时效果很好。

如果没有参数(操作),它会显示所选 ddlUsers.SelectedValue 的所有登录。

为什么不能这样工作?