62,046
社区成员
发帖
与我相关
我的任务
分享
<asp:ObjectDataSource ID="ods1" runat="server" TypeName="Namespace.method1BO"
SelectMethod="GetXXXs">
</asp:ObjectDataSource>
<asp:GridView ID="gv1" runat="server"
DataSourceID="ods1" DataKeyNames="DId" AutoGenerateColumns="false">
<Columns>
<asp:CommandField ButtonType="Link" ShowSelectButton="true" />
<asp:BoundField HeaderText="ID" DataField="DId" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods2" runat="server" TypeName="Namespace.method2BO"
SelectMethod="GetXByDId">
<SelectParameters>
<asp:ControlParameter ControlID="gv1" PropertyName="SelectedValue"
Type="Int64" Name="DId" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="gv2" runat="server"
DataSourceID="osd2" DataKeyNames="VId" >
</asp:GridView>
1。当gv1中的select点击时,浏览器把form元素中的值post到服务器,我前面设置的DataKeyNames="DId",服务器postback一些信息,我就可以取到gv1.SelectedValue的值.
2.然后ObjectDataSource控件每次刷新页面时都会重新计算一次数据。现在osd2里设置了监听gv1.SelectedValue,取到相应的值去数据库查询,然后自动绑定。
<asp:ControlParameter ControlID="gv1" PropertyName="SelectedValue"
Type="Int64" Name="DId" />
</SelectParameters>