DotNetNuke 4.9.2 を使用していますが、奇妙な問題が発生しています。
開発中のモジュールに MultiView があり、ビューの 1 つに ObjectDataSource にバインドされた GridView があります。
別のビューには、2 番目のビューで ObjectDataSource の SelectMethod を切り替えてから、そのビューをアクティブに設定するボタンがいくつかあります。グリッドが 2 番目のビューでソートされるまで、すべて正常に機能します。これにより、ポストバックが発生し、ODS が何らかの方法で元の SelectMethod を取得します。ただし、コード ビハインド スティックで同時に割り当てられる SelectParameters 。
ObjectDataSource がビューステートの SelectMethod を記憶しているように思えますね。
<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 の列ヘッダーの 1 つをクリックし、ページの読み込みを中断して SelectMethod を検査すると、マークアップで宣言されたものに戻りました。
ここで私の問題が何であるかについて何か提案はありますか?