Я использую DotNetNuke 4.9.2 и столкнулся со странной проблемой.
У меня есть MultiView в модуле, который я разрабатываю, и в одном из представлений есть GridView, который связан с ObjectDataSource.
В отдельном представлении у меня есть несколько кнопок, которые переключают метод SelectMethod ObjectDataSource во втором представлении, а затем устанавливают это представление активным. Это все работает нормально, пока сетка не будет отсортирована во втором представлении - что вызывает обратную передачу, и ODS каким-то образом поднимает свой оригинальный SelectMethod. Хотя параметры SelectParameters назначаются одновременно на флеш-коде.
Мне кажется, что ObjectDataSource должен помнить SelectMethod в viewstate, не так ли?
<asp:ObjectDataSource runat="server" ID="MyObjectDataSource" SelectMethod="MyFirstSelectMethod" TypeName="Whatever"></asp:ObjectDataSource>
protected void Button1_Click(object sender, EventArgs e)
{
MyObjectDataSource.SelectMethod = "MyNewMethod";
// more code here to change the parameters as well...
MyMultiView.SetActiveView(MyView2);
}
Когда я нажимаю эту кнопку, сетка отображается так, как ожидалось. Когда я щелкаю один из заголовков столбцов для GridView и перерываю загрузку страницы, чтобы проверить SelectMethod, он возвращается к объявленному в разметке.
Любые предложения относительно того, что моя проблема может быть здесь?