问题标签 [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 投票
1 回答
1079 浏览

linq-to-sql - Linq to SQL GridView 中的空值

通常,如果我将 ObjectDataSource 链接到 GridView 并且我有一个 TemplateColumn,其中有一个 Eval 并且它是 Null,我可以只放置一个“.ToString()”它工作正常。出于某种原因,当您使用 Linq to SQL 时,这并不相同。

我最初使用自定义 BLL 为我的 DAL 使用 XSD 文件。我使用 ObjectDataSource 将它绑定到 GridView。我正在用 Linq 将 XSD 文件换成 SQL,除了可以具有 Null 值的列之外,一切都像旧方法一样工作。

以前有没有人遇到过这个问题,如果有,我该如何解决这个问题?

0 投票
2 回答
15633 浏览

asp.net - 启用分页后,Gridview 在回发时消失

我有一个 gridview,它的 DataSourceID 属性设置为自定义 ObjectDataSource 对象。当 AllowPaging 设置为 True 时,GridView 在回发后消失。如果我将 AllowPaging 设置为 False 就可以了。有人可以为我解释一下吗?:)

编辑:我感到困惑的另一件事是,我认为如果您设置DataSourceID,网格将在需要时从数据源获取数据。如果网格因为没有保存数据而消失,为什么 gridview 没有从数据源获取它需要的数据?

0 投票
3 回答
308 浏览

c# - 如果您使用声明性数据源,您可以通过编程方式访问数据对象吗?

我正在使用 asp.net 2.0。我正在使用声明性数据源。对于后面代码中的某些内容,我想访问 Foo.Bar 返回的对象(在下面的示例中)。系统正在缓存它,所以我应该能够访问该版本,而不必重新调用 Foo.Bar()。我该怎么做呢?

0 投票
1 回答
2610 浏览

asp.net - 多个值绑定到单个标志枚举的 CheckBoxList

我有一个 FormView(绑定到 ObjectDataSource),其中包含一个 CheckBoxList,我想将它绑定到底层对象的单个属性,该属性是一个应用了 FlagsAttribute 的枚举。绑定到 SelectedValue 属性总是给我从列表中选择的第一个值作为属性的值。任何人都知道如何在不覆盖 Inserting 或 Updating 方法并手动获取复选框列表的值并将其填充到数据源的参数中的情况下解决此问题?下面是我正在尝试做的示例代码......

在幕后,我的对象是这样声明的......

0 投票
2 回答
1166 浏览

asp.net - DotNetNuke ObjectDataSource.SelectMethod 未保存在视图状态中

我正在使用 DotNetNuke 4.9.2 并且遇到了一个奇怪的问题。

我正在开发的模块中有一个 MultiView,其中一个视图中有一个绑定到 ObjectDataSource 的 GridView。

在一个单独的视图中,我有几个按钮可以在第二个视图中切换 ObjectDataSource 的 SelectMethod,然后将该视图设置为活动状态。一切正常,直到网格在第二个视图上排序 - 这会导致回发并且 ODS 以某种方式获取其原始 SelectMethod。但是,在代码隐藏中同时分配的 SelectParameters 仍然存在。

在我看来,ObjectDataSource 应该记住视图状态中的 SelectMethod,不是吗?

当我运行该按钮单击时,网格按预期显示。当我单击 GridView 的列标题之一并中断页面加载以检查 SelectMethod 时,它已恢复为标记中声明的标题。

关于我的问题可能在这里的任何建议?

0 投票
1 回答
358 浏览

c# - ObjectDataSourceControl 在导入的命名空间中找不到类型

我在使用多个 ObjectDataSource 的 ASP.NET 2.0 应用程序中有一个 aspx 页面。它们都绑定到同一个类,如下所示:

p>

这工作正常。然后我做了两个改变

  1. 将目录DropDownDataSourceapp_code目录移到单独的程序集
  2. 改变了类的命名空间是com.companyname.ie,现在com.companyname.ie.appname

现在,当我点击页面时,我会收到“找不到'TitleDataSource'的类型名称中指定的类型”错误消息。

我可以通过在TypeName. 但是添加具有相同命名空间的指令并不能解决该错误。 <% @import

我也尝试将我的代码移回app_code无济于事。

Intellisense 无需我指定命名空间即可获取类型。

它不是一个大问题,但它非常烦人。有什么建议么?

0 投票
1 回答
354 浏览

c# - 使用反射和集合来编写对象 Rational 数据库

有 C# 问题;

我一直在寻找一种方法,可以在运行时通过迭代它们和属性/方法来说动态创建的对象。到目前为止,我一直在使用 Reflections 和 foreach 来不了解类属性。这是为了在数据网格视图上显示各种表中的所有记录。然而,我认为一种方法是使用对象理性映射来连接、填充数据集,然后能够将其显示在数据网格视图上进行编辑等。

**编辑:*也许迭代类的实际命名空间,所有类都继承一个名为 Table 的类,所以我想应该有一个方法在运行时调用所有类以从数据库中获取数据*

到目前为止,我主要完成了 Java 编程,所以对 OO 编程有一个很好的想法,只是对 .NET 不太熟悉,所以在这方面寻找最好的方法。

提前致谢

0 投票
2 回答
1704 浏览

c# - 您如何手动将复杂对象数据绑定到模板控件,如网格视图中的一行?

我在这里为数据绑定语法而苦苦挣扎。例如我有一个这样的数据结构 -

现在,如果我想手动绑定这个 List Courses 说一个 gridview,我可以这样做

在指定网格的编辑模板时,但是如何将 Instructors 教学属性绑定到同一行中的 ListBox,我无法弄清楚语法,这是我尝试和失败的示例

我上面的代码肯定不起作用:)。理想情况下,我想在标记而不是后面的代码中执行此操作。

0 投票
1 回答
2636 浏览

c# - 如果控件始终按照声明的顺序绑定到数据源控件,则


A) 下面的问题是基于这样的假设:控件总是按照声明的顺序绑定到数据源控件?因此,在我们的示例中,SqlDataSource1 将在 SqlDataSource2 之前连接到数据源,因此lstCities将在GridView1之前填充值,原因是lstcitiesGridView1之前声明?!



B)如果是这样,那么ControlParameter究竟何时从DropDownList检索值?我假设它在SqlDataSource1_Selected()事件处理程序之后和SqlDataSource2_Selecting()事件处理程序之前,但准确的时间是什么时候?

在 .aspx 页面中:


谢谢

编辑:

但是,如果它是回发,那么这些参数将从页面的 OnLoadComplete 上的视图状态加载,再次按照声明它们的顺序。

Q1 - 假设 ControlParameter 绑定到控件 C 的属性 C1。我想在回发时 ControlProperty 总是能够从 ViewState 获取 C.C1 的值,无论 C 是什么类型,即使 C 禁用了 ViewState ?!

Q2 - 但是我可以问为什么,如果第一次创建页面,ControlParameter 的值也不能从视图状态中检索?毕竟,在 lstCities 从数据源检索数据的那一刻, lstCities.SelectedValue 是否设置了它的值?



谢谢队友


第二次编辑:

我很抱歉没有尽快回复,但我没有意识到你已经回复了。当我这样做时,我花了 20 分钟试图让我的 3 个脑细胞正常工作,但我不确定我是否成功了


A)所以 ControlParameter 评估 C.C1 并因此在 C 绑定后检索 C.C1 的值?!


Q1 - ControlParameter 只读取它自己的状态并且只确定它是否改变了

A) 因此,ControlParameter 在绑定发生之前检查其 ViewState 是否已更改(以触发 OnParameterChanged 事件)-> 因此它会在 Page.OnLoadComplete 期间检查其 ViewState。但是 ControlParameter 怎么知道它的 ViewState 已经改变了(它会在第一次回发时知道)?毕竟,从第一次创建页面开始,ControlParameter 的 ViewState 将始终被标记为脏,那么从一个回发到另一个回发,ControlParameter 怎么知道它的值在回发之间是否发生了变化?

B)我假设 ControlParameter 检查其 Viewstate 是否仅更改,以便它可以触发 OnParameterChanged 事件。但为什么处理该事件如此重要?


第一次发生属性评估是在 Page.OnLoadComplete

通过属性评估,您的意思是 ControlParameter 检查自己的 ViewState?因此,您并不是说 ControlParameter 评估 C.C1 (我假设在 C 被绑定之后发生)


我真的很感谢你的帮助


第三次编辑:

真的很抱歉再次占用您的时间。我会尽我最大的努力使这成为我的最后一次编辑。


Update() 在 OnLoadComplete 和数据绑定发生时都被调用。在 Update() 内部还执行了以下语句:

因此,如果在数据绑定发生时调用 Update(),那么这意味着当在 OnLoadComplete 中调用下一次回发 UpDate() 时,C.C1 和 ControlParameter 将已经具有相同的值,因此

将始终返回 false (当在 OnLoadComplete 中调用 Update() 时),因此 OnParameterChanged 事件永远不会被触发?1 如果是这样,我看不到在 OnLoadComplete 中调用 Update() 的必要性!


非常感谢

0 投票
4 回答
3285 浏览

asp.net - FormView ConvertEmptyStringToNull 和绑定

我正在使用带有 ObjectDataSource 的 FormView 并使用 <%# Bind("WhateverProp") %> 进行绑定 - 我的所有可为空的列都返回了其中类型的默认值。

看起来 FormView 对象没有像其他绑定容器那样的 ConvertEmtpyStringToNull 属性。我发现文章表明这​​是 VS 2005 / .Net 2.0 中的一个错误 - 但没有看到任何说明解决方案是什么。

有没有人对我如何解决这个问题有任何建议,而无需重新捕获 ODS_Inserting 事件中的所有字段?我宁愿不必编写代码来重新绑定表单上的所有绑定字段,只是为了测试空值。