Asp.net 数据源和数据源ID之间的链接在哪里?

Asp.net 数据源和数据源ID之间的链接在哪里?,asp.net,Asp.net,将站点地图数据源类型附加到站点地图控件时,会为数据源指定一个ID。 代码(或配置文件)中与相应的Web.sitemap文件关联的ID在哪里? 是否只有一个站点地图数据源,而ID实际上是冗余信息? 干杯。当源数据由页面中另一个类型为DataSourceControl的控件(例如控件)提供时使用 用于直接提供数据。您应该使用其中一个,但不能同时使用两者。看数据源是一个控件,您可以在工具箱的数据部分找到它(例如:sqldatasource、objectdatasource等等) 您可以通过以下两种方式

将站点地图数据源类型附加到站点地图控件时,会为数据源指定一个ID。 代码(或配置文件)中与相应的Web.sitemap文件关联的ID在哪里? 是否只有一个站点地图数据源,而ID实际上是冗余信息? 干杯。

当源数据由页面中另一个类型为
DataSourceControl
的控件(例如控件)提供时使用


用于直接提供数据。您应该使用其中一个,但不能同时使用两者。

数据源
是一个控件,您可以在工具箱的
数据部分找到它(例如:sqldatasource、objectdatasource等等)

您可以通过以下两种方式之一设置控件的数据源(例如gridview):

  • 第一种方法是将特定的datasource控件从 工具箱并将其放到页面中,然后设置
    DataSourceID
    属性 通过已拖动的数据源控件的id创建控件的
  • 第二个是通过代码隐藏,可以设置 控件的
    DataSource
    属性,然后调用
    DataBind()

这两种方法不能同时使用。但是你可以解决这个问题。如果你想同时使用这两个(每一个都在特定的情况或条件下),那么首先你应该将另一个设置为null,然后才能使用另一个

像这样:

        gv1.DataSource = null;
        gv1.DataSourceID = ObjectDataSource1.ID;
        gv1.DataBind();
反之亦然