在ASP.net上更改数据源

时间:2012-04-20 17:14:03

标签: asp.net datasource dataview

问题:我在.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个值,而在另一个方法中只有一个值,它用于过滤信息。 我想要做的是在我的onLoadPage方法中是这样的:

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

我已经尝试了这个,但它没有用,有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

你应该致电

GridViewUsers.DataBind();

答案 1 :(得分:0)

在aspx中的数据源上做

EnablePaging="true"