Я изменил ObjectDataSource SelectMethod, но он все еще возвращает старые значения в GridView - PullRequest
2 голосов
/ 10 июня 2011

У меня есть два разных класса для использования в моем 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 Ответ

0 голосов
/ 11 июня 2011

Возможно, вы меняете свойство SelectMethod после привязки ObjectDataSource.Попробуйте добавить ObjectDataSource1.DataBind(); в конце процедуры, которую вы перечислили в качестве быстрого исправления.

В каком обработчике событий выполняется код?

...