0

問題:以下に示すように、.aspx ファイルで宣言された 2 つのデータソースがあります。

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DeleteMethod="UsuarioDelete" SelectMethod="SelectMyAllNotME_Data" TypeName="BLLayer.Usuarios" OnInserted="ObjectDataSource_Inserted">
    <DeleteParameters>
        <asp:ControlParameter ControlID="ConfirmDialogBox1" Name="id_usuario" PropertyName="Aceptar_CommandName" Type="Int32" />
    </DeleteParameters>
    <SelectParameters>
        <asp:SessionParameter DefaultValue="1" Name="id_usuario" SessionField="id_usuario" Type="Int32" />
        <asp:SessionParameter DefaultValue="1" Name="id_pais" SessionField="id_pais" Type="Int32" />
    </SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" DeleteMethod="UsuarioDelete" SelectMethod="SelectMyAllNotME_Data" TypeName="BLLayer.Usuarios" OnInserted="ObjectDataSource_Inserted">
    <DeleteParameters>
        <asp:ControlParameter ControlID="ConfirmDialogBox1" Name="id_usuario" PropertyName="Aceptar_CommandName" Type="Int32" />
    </DeleteParameters>
        <SelectParameters>
            <asp:QueryStringParameter DefaultValue="0" Name="id_emp" QueryStringField="id_emp" Type="Int32" />
        </SelectParameters>
</asp:ObjectDataSource>

メソッド「SelectMyAllNotME_Data」はオーバーロードされたメソッドで、一方では 2 つの値を受け取り、もう一方では 1 つの値だけを受け取り、情報をフィルタリングするために使用されます。私がやりたいことは、私の onLoadPage メソッドでは次のようなものです:

if (Request.QueryString["id_emp"] != null)
    {
        GridViewUsers.DataSource = ObjectDataSource2.SelectMethod;
        GridViewUsers.DataMember = ObjectDataSource2.SelectMethod;
    }
    else
    {
        GridViewUsers.DataSource = ObjectDataSource1.SelectMethod;
        GridViewUsers.DataMember = ObjectDataSource1.SelectMethod;
    }
}

私はすでにこれを試しましたが、うまくいきません.誰か助けてもらえますか?

4

2 に答える 2

1

あなたは電話するべきです

GridViewUsers.DataBind();
于 2012-04-20T17:16:16.250 に答える
0

aspxのデータソースで行うだけです

EnablePaging="true"
于 2012-04-20T17:27:44.353 に答える