2011-12-20 8 views
0

これはおそらく非同期ポストバックを知らないため、そこにソフトボールを置くことができます。アップデートパネルの外側にドロップダウンを再作成

私は3つのカスケード・ドロップダウンをupdatepanelに持っています。これらを使用すると、Store-> Department-> Productを選択できます。 4番目のDDLが更新パネルの外側にあり、これを使用して競合他社を選びます。異なる店舗は異なる競合相手と一致します。 Gridview(外部も)はStore-> Department-> Product-> Competitor Priceの結合を表示します。

これは、最初に読み込んだときや、同じ競合者を持つ別のストアに切り替えるとうまく動作します。しかし、updatepanel DDLを、選択した競合他社を共有していないストアに変更して「表示」(PostBackを引き起こす)をクリックすると、「無効なポストバックまたはコールバック引数」が表示されます。競合他社のDDLを削除してgridviewの競合他社をハードコードすると、エラーが解消し、放棄してナビゲートできます。

ポストバックでその4番目のDDLが再投入されないのはなぜですか?この問題を解決するにはどうすればよいですか?

+0

コードを投稿してください。あなたの実際の実装なしではコメントするのが難しいです。 – Akhil

答えて

0

Competitior DropDownlistを再バインドしている場合、Store-> Department-> Productが変更された場合、ListItemsはサーバー上で変更されますが、内部には存在しないためクライアントには表示されませんupdatepanelとなり、Competitior DropDownlistには古い値があります。

ポストバックが発生すると、ASP.Netはこれらの古い値がどのように来て、「無効なポストバックまたはコールバック引数」エラーをスローするのか理解できません。

これを解決する最良の方法は、ドロップダウンリスト(およびgridview)をupdatepanelに配置することです。

+0

華麗で、魅力的に働いた! – ScottieB

+0

@ScottieB:歓迎です:) –

関連する問題