我在ObjectDataSource中使用了这两个不同的类:
“ getColection”和“ getLastColectionByUser”
这是我在aspx的ObjectDataSource。
`
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="getColection"TypeName="HepatiteNegocio.ViewProtocoloCol" SelectCountMethod="getColectionCount"
EnablePaging="True">
<SelectParameters>
<asp:Parameter Name="pWhere" Type="String" />
<asp:Parameter Name="pOrderBY" Type="String" />
<asp:Parameter Name="startRowIndex" Type="Int32" />
<asp:Parameter Name="maximumRows" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>`
如果单选按钮的选择值为“ all”,选择方法为“ getColection”,否则为“ getLastColectionByUser”,可以吗?
`if(radioButton.SelectedValue.Equals("all"))
{
ObjectDataSource1.SelectMethod = "getColection";
ObjectDataSource1.SelectCountMethod = "getColectionCount";
try
{
validation();
ObjectDataSource1.SelectParameters[0].DefaultValue = getWhere();
ObjectDataSource1.SelectParameters[1].DefaultValue = "protocolNumber";
}
catch
{
set an error message
}
}
else
{
ObjectDataSource1.SelectMethod = "getLastColectionByUser";
ObjectDataSource1.SelectCountMethod = "getLastCountColectionByUser";
try
{
validation();
ObjectDataSource1.SelectParameters[0].DefaultValue = getWhere();
ObjectDataSource1.SelectParameters[1].DefaultValue = "protocolNumber";
}
catch
{
set an erron message
}
}
ObjectDataSource1.DataBind();
GridView1.DataBind();`
当我调试时,它工作正常。 SelectMethod和SelectCountMethod正在更改,但gridView仍显示旧值。班还可以。怎么了?
最佳答案
绑定ObjectDataSource后,可能正在更改SelectMethod属性。尝试在列出的快速修复过程的末尾添加ObjectDataSource1.DataBind();
。
代码在哪个事件处理程序中运行?
关于c# - 我更改了ObjectDataSource的SelectMethod,但它仍在GridView上返回旧值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6311326/