在asp.net中的控件GridView如果使用ObjectDataSource做为数据源与他对应那么1个GridView就必须对应一个ObjectDataSource,由此,我想是否能够进行动态的管理既:只是需要一个ObjectDataSource就可以管理所有的GridView的数据源
<asp:GridView ID="GridView1" runat="server"  DataSourceID="ObjectDataSource1" Width="100%">
</asp:GridView >
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Get" TypeName="OjbData"
OldValuesParameterFormatString="original_{0}"></asp:ObjectDataSource>普通情况下,我们是这样使用的,如果有GridView2,那么就需要ObjectDataSource2
----------PS:我是万恶的分割线------------
能否通过某个方法GridView1->n都只是一个ObjectDataSource,只是需要传递给ObjectSourceData不同的SelectMethod="方法"
就可以了呢?期待大家的回复!

解决方案 »

  1.   

    其实很简单了!
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Get" TypeName="OjbData"
    OldValuesParameterFormatString="original_{0}"></asp:ObjectDataSource>
    selectMethod 与TypeName 能不能接受动态的值
      

  2.   

    应该是完全可以,只要设置ObjectDataSource参数即可,
    例如对查询来说只要设置两个参数即可!
    GridView1:
            ObjectDataSource1.TypeName = "你的TableAdapter1";
            ObjectDataSource1.SelectMethod = "GetData1";
            GridView1.DataSourceID = "ObjectDataSource1";GridView2:
            ObjectDataSource1.TypeName = "你的TableAdapter2";
            ObjectDataSource1.SelectMethod = "GetData2";
            GridView2.DataSourceID = "ObjectDataSource1";
      

  3.   

    这样做虽然是初始化显示的时候方便了,但是,如果涉及到操作,比如Update、Delete等,ObjectDataSource中的属性已经发生改变,每次操作都要去判断是哪个GridView,如此,岂不是自讨苦吃
      

  4.   

    你们能不能这样,还要不要人活了!
    GridView1:
    ObjectDataSource1.TypeName = "你的TableAdapter1";
    ObjectDataSource1.SelectMethod = "GetData1";
    GridView1.DataSourceID = "Object……
    还是在1-1的范畴
      

  5.   

     <asp:GridView ID="GridView1" runat="server" DataSourceID="。。/ObjectDataSource1?SelectMethod执行方法的参数">
            </asp:GridView> 
    然后objectDataSource的SelectMethod接受这个参数 
    A.aspx就传递参数“A”
    B.aspx就传递参数“B”ObjectDataSource接受到A.aspx的请求就SelectMethod=A.
    ObjectDataSource接受到B.aspx的请求就SelectMethod=B
     
    纯理论,实现有难度想到的方法是重写
      

  6.   

    给ObjectDataSource的SelectMethod传递不同参数,根据参数返回结果不是更符合理吗?