C# Gridview如何与ObjectDataSource合作?

C# Gridview如何与ObjectDataSource合作?,c#,asp.net,gridview,C#,Asp.net,Gridview,Gridview如何在内部与ObjectDataSource协作?当您设置GridView的DataSourceID时,assigned ObjectDataSource负责分页和排序等工作,但我无法完全控制数据绑定本身,另一方面,当我在代码隐藏中设置GridView的datasource时: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { testGridView

Gridview如何在内部与ObjectDataSource协作?当您设置GridView的DataSourceID时,assigned ObjectDataSource负责分页和排序等工作,但我无法完全控制数据绑定本身,另一方面,当我在代码隐藏中设置GridView的datasource时:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        testGridView.DataSource = testObjectDataSource.Select();
        testGridView.DataBind();
    }
}

现在我可以完全控制了,但是我已经失去了舒适的排序和分页的优势。ObjectDataSource和Gridview之间的合作对我来说是个谜。那么,有人能详细地向我解释ObjectDataSource和Gridview在幕后是如何合作的吗?我想理解它,以便编写我自己的智能代码或自己的gridview来模拟这种合作。非常感谢您的回答。

您可能需要看看这个MSDN示例。如果您需要更多的编辑和插入选项,请查看此示例

我相信,当您在代码中设置数据源时,您所做的只是为其提供数据,而没有操作支持。当您设置datasourceid时,您正在提供数据源来完成繁重的工作(插入、过滤、排序等)

请查看是否提供了更多详细信息

--添加了更多信息-- 下面是关于如何设置您自己的对象数据源的更多详细信息,它应该允许您查看使排序、筛选和分页等操作正常工作所需的内容。

经过长时间的调查,我发现这个链接几乎回答了我所有的问题:

wonde:这是一个很好的例子,但他们使用的是那里的数据源ID,这是我不想要的,他们也没有解释ODS和GV合作,谢谢,但这部分解释了为什么会这样,但我仍然想知道它是如何工作的:)如果你真的想看看它的功能,请下载reflector(从red gate下载)并仔细阅读代码。