Я изменил SelectMethod ObjectDataSource, но он все еще возвращает старые значения в GridView
У меня есть два разных класса для использования в моем ObjectDataSource:
"getColection" и "getLastColectionByUser"
Это мой ObjectDataSource в aspx.
`
<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 по-прежнему показывает старые значения. Классы в порядке. Что не так?
1 ответ
Вероятно, вы меняете свойство SelectMethod после привязки ObjectDataSource. Попробуйте добавить ObjectDataSource1.DataBind();
в конце процедуры вы указали быстрое решение.
В каком обработчике кода выполняется код?