ASP.NET ListView、自定义数据源和编辑项

ASP.NET ListView、自定义数据源和编辑项,.net,asp.net,data-binding,.net,Asp.net,Data Binding,MSDN演练提供了许多示例,在这些示例中,您可以从工具箱中拖动数据源,运行一些简单的配置步骤,然后将a拖动到屏幕上,指向数据源,嘿,您已经完成了完整的表编辑 现在我正在尝试编写自己的DataSource类(一个实现的类)和自己的DataSourceView类。现在,我将这个自定义数据源类的一个实例分配给属性 所有项目的显示都很好。但是,更新、插入和删除都不起作用。我正在重写DataSourceView类中可以重写的每个函数,但它们没有被调用 这是一个巨大的话题,我将把这个问题集中在一个简单的例子

MSDN演练提供了许多示例,在这些示例中,您可以从工具箱中拖动数据源,运行一些简单的配置步骤,然后将a拖动到屏幕上,指向数据源,嘿,您已经完成了完整的表编辑

现在我正在尝试编写自己的DataSource类(一个实现的类)和自己的DataSourceView类。现在,我将这个自定义数据源类的一个实例分配给属性

所有项目的显示都很好。但是,更新、插入和删除都不起作用。我正在重写DataSourceView类中可以重写的每个函数,但它们没有被调用

这是一个巨大的话题,我将把这个问题集中在一个简单的例子上:

当您按下“编辑”按钮(ItemTemplate中命令名为“编辑”的按钮)时,您希望ItemTemplate被EditItemTemplate替换。这没有发生。我唯一能让它发生的方法是处理此事件


这不是什么问题,但我为什么要这么做呢?在MSDN演练中,我将ListView附加到LinqDataSource,这段代码不必编写。以前在这里工作过的人能猜一下我的自定义数据源中会有什么不同或缺失吗?

我知道这是一种替代方法,可能不起作用k,但您可能希望将ObjectDataSource与一个简单的对象模型一起使用,它将为您完成一些工作,而不是编写一个完整的数据源

例如,您可以创建一个相当简单的PublicHolidays类,其中包含用于

public List<PublicHoliday> GetAllPublicHolidays()

您可以直接将ObjectDataSource指向这些方法。

使用LinqDataSource或ObjectDataSource,通过数据源处理绑定、设置editindex等。如果您绑定到自己的集合或数据集,您需要自己做一些管道操作。这些数据源类处理da的维护状态ta自动执行,而列表或数据集等标准集合不执行此操作。

我曾尝试使用ObjectDataSource,但我无法回避的问题是初始化。在本例中,ObjectDataSource将在选择之前创建一个PublicHolidays类,然后再次销毁它。如果我想根据值对其进行筛选,该怎么办在页面上的控件中?在GetAllPublicHolidays()方法中,可以包含运行时填写的参数以过滤结果,或者一些实际的网格控件也可以为您进行过滤。。。
public List<PublicHoliday> GetAllPublicHolidays()
public void UpdatePublicHoliday(string name, date holidayDate)