Tag: objectdatasource

要在Visual Studio Report New DataSet中显示的对象数据源的标准?

在“报表数据”…“新数据集”对话框中,我只有大约5个类。 我的主要业务类都没有出现。 一些确实显示的不显示和属性。 显示的一些是通用的,甚至没有显示这些。 例如SortedListBase : SortedKeyedCollection where T : IdEntity有两个公共静态方法: public static SortedListBase Build(string StoredProc, CTorDelegate CTorDelegate, Action AddParameters) public static SortedListBase Build(string StoredProc, CTorDelegate CTorDelegate) 显示为: SortedListBase`1 (Build) SortedListBase`1 (Build) 由于它们完全是通用的,因此它们都不能实际执行任何操作。 我的大多数类都有私有构造函数,这似乎是阻止它们出现的东西。 这些类通常具有返回集合的静态方法,以及私有构造函数和静态工厂方法。 我创建了一个显示的测试类(它返回null作为List),然后我去添加了一个私有的无参数构造函数(当我创建它时没有显式的构造函数)和bam – 它消失了。 我想这是因为我倾向于使用更少的类 – 我只是在同一个类中有实例方法(用于动作,属性等)和静态方法(用于列表和工厂)? 大多数人将他们的对象列表方法放在自己的具有公共构造函数的类中吗? 是否无法添加具有私有构造函数的类? 如果是这样,最好简单地创建在设计时绑定到的虚拟类,然后在运行时指向实际工作并返回真实List的方法?

将DetailsView设置为GridView的选定行

我正在创建一个GridView / DetailsView页面。 我有一个显示一堆行的网格,当选择一行时,它使用DetailsView来允许插入/更新。 我的问题是将这些链接起来的最佳方式是什么? 我不想再次访问Web服务,我需要的所有数据都在选定的网格视图行中。 我基本上有两个独立的数据源,它们共享相同的“DataObjectTypeName”,第一个数据源检索数据,另一个数据源执行CRUD。 将选定网格视图行传输到详细信息视图的最佳方法是什么? 我是否必须自己处理插入/更新事件并自己调用数据源? 有没有办法链接这两个,所以他们使用相同的数据源? ….Code… …

我假设SqlParameter.IsNullable只在……时才有意义?

1)当SqlParameter.IsNullable设置为true ,收到的null值将转换为DBNull.Value并发送到数据库。 因此,当GridView的Parameter.ConvertEmptyStringToNull也设置为true时,我认为设置IsNullable为true才有意义? 2)GridView和ObjectDataSource的参数都有ConvertEmptyStringToNull属性。 但是有没有(在尝试更新数据源时)的情况: •我们应该将GridView的Parameter.ConvertEmptyStringToNull设置为true ,但是然后将ObjectDataSource的Parameter.ConvertEmptyStringToNull设置为false ? •或者我们应该将GridView的Parameter.ConvertEmptyStringToNull设置为true ,但是SqlDataSource的SqlParameter.IsNullable为false ?

GridView的UpdateMethod没有触发

我有一个GridView,我以编程方式绑定到ObjectDataSource,如: ObjectDataSource risks = new ObjectDataSource(“Risks”, “RetrieveProjectRisk”); risks.TypeName = “Promanto.ProjectRisks”; risks.DataObjectTypeName = “Promanto.ProjectRisk”; risks.SelectMethod = “RetrieveProjectRisk”; risks.DeleteMethod = “DeleteProjectRisk”; risks.InsertMethod = “AddProjectRisk”; risks.UpdateMethod = “UpdateProjectRisk”; risks.SelectParameters.Add(“WhereClause”, TypeCode.String, “ProjectID =’PR0002′”); RisksGrid.DataSource = risks; RisksGrid.DataBind(); 但是当我单击编辑按钮然后我更新我的值时,我首先得到RowUpdating应该存在的错误。 当我添加它时,我不确定要放入什么。 是不是我的UpdateMethod“UpdateProjectRisk”假设自动触发?

ObjectDataSource无法将字符串解析为DateTime

我有一个带有值的文本框,用于存储ValidFrom表单值: 31.01.2012 和文化设置为: 在web.config中。 而现在,ObjectDataSource更新方法: public static void UpdateLac(int id, DateTime ValidFrom) { /// … } 失败,因为我得到exception,无法解析字符串。 但格式为dd.mm.yyyy ( 31.01.2012 )的日期是有效的en-GB格式,可以解析(据我所知)。 我用以下代码测试了它: DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture(“en-GB”).DateTimeFormat; var date = DateTime.Parse(“31.01.2012”, dtfi); Console.Write(date.ToLongDateString()); 那么为什么ObjectDataSource内部转换无法在此示例中将字符串 (31.01.2012)转换为DateTime ?

你能从ObjectDataSource获得一个DataTable吗?

如果我在设计时定义了ObjectDataSource,我可以在运行时从该ObjectDataSource获取DataTable吗? 我有一个方法返回一个DataTable,我正在使用它为ObjectDataSource的Select方法属性。

nhibernate 2.0高效数据分页DataList控件和ObjectDataSource

我如何使用nHibernate 2 ObjectDataSource在一次调用中完成Scott的工作 http://weblogs.asp.net/scottgu/archive/2006/01/07/434787.aspx 下面是我的数据访问方法 public IList GetListOfUser(int rows, int pageIndex) { IList userList = null; using (ITransaction tx = _session.BeginTransaction()) { try { userList = _session.CreateQuery(“Select u from User u where u.DateSubmitted is not null”) .SetFirstResult(rows * (pageIndex – 1) + 1) .SetMaxResults(rows) .List(); tx.Commit(); } catch (NHibernate.HibernateException ex) { tx.Rollback(); AppUtil.LogHelper.WriteLog(LogLevel.ERROR, ex.ToString()); throw; […]

如果ObjectDataSource不是大型应用程序的答案,那是什么?

引用Andrew Hare对此 问题的回答 。 对象数据源适用于小型项目,但由于您在应用程序的UI层中嵌入数据层信息,因此它们无法很好地扩展。 我建议您只将它们用于非常小的应用程序和便笺式测试。 如果您做出设计决定使用它们,请准备好在将来解决扩展和维护问题。 应用程序架构=可维护性+可伸缩性+ …… 我认为,我读过的每篇开始学习应用程序架构的文章都使用了一些类来构建业务数据层,并使用ObjectDataSource将表示层与业务层连接起来。 看起来我错了。 什么是用于业务层及其与表示层的连接的最佳方法?

从Entity框架返回自定义对象并分配给对象数据源

我需要一些问题的指导,我正在使用Entity Framework 4.0,我有一个DAL和BLL并且在页面上绑定到ObjectDataSource。 我不得不使用PIVOT和动态SQL编写存储过程,以便按照我想要的方式从多个实体返回数据。 现在我想弄清楚如何让Entity Framework返回一个我可以绑定到页面上的ObjectDataSource的自定义对象,我需要使用自定义对象或动态对象,因为存储过程可以返回任意数量的列所以我不能使用强类型类或实体,我还需要能够将它与ObjectDataSource绑定。 有人能指出一个很好的方法来做这个以及如何定义我的function? 请提供一些代码示例。 我读到我应该尝试使用List返回一个对象,因为EF不支持返回数据表/数据集,到目前为止我有以下内容,但我知道这是不正确的。 我没有太多使用仿制药,如果你能指出如何做到这一点,我相信这对很多人都有帮助。 请提供该函数的代码示例以及如何将ObjectDataSource绑定到返回对象? 非常感谢您的帮助! 感谢您的帮助Richard根据您对使用DbDataRecord的建议,这就是我现在的function DAL中ObjectDataSource C#函数 public List GetData(int product_id) { List availableProducts = new List(); var groupData = context.ExecuteStoreQuery(“exec spGetProducts @ProductID={0}”, product_id); availableProducts = groupData.ToList(); return availableProducts; } ASPX页面中的ObjectDataSource 现在,当我访问页面时,我收到此错误: 结果类型“System.Data.Common.DbDataRecord”可能不是抽象的,必须包含默认构造函数 这是因为ExecuteStoreQuery期望被定义为类还是实体? 如何根据存储过程结果创建一个对象并将其分配给它?