0

IsPostBack が true の場合、画面のサイズを取得する JavaScript 関数を呼び出し、幅と高さを隠しフィールドに渡し、ボタンをクリックして PostBack を発生させるページがあります。したがって、ユーザーの画面のサイズを取得し、適切なサイズのテーブルなどを含むデフォルト データを含むページをロードできます。

必ず、(一度ポストバックされた) ページにデータが表示されると、グリッドビューにデータが取り込まれます。各行には「削除」リンク ボタンがあります。各リンク ボタンは OnClientClick に設定され、javascript 関数を呼び出して削除することを確認します。

グリッドの上には、表示されるデータを検索またはフィルタリングできるテキスト ボックス/ボタン/ドロップダウン リストの行があります。Gridview は更新パネルにあります。ページが最初にデータをロードし、プロジェクトのリストを表示すると、削除リンク ボタンはすべて正常に機能します。すべての行で問題ありません。[確認] ボックスが表示され、[OK] を選択すると、非同期ポストバックが発生します。

最初のデータが表示された後 (1 回のポストバック後)、検索ボックスとボタンを使用するか、ドロップダウンリストを使用してデータをフィルタリングすると (検索ボタンとフィルター DropDownList は UpdatePanel の非同期トリガーです)、データが更新されます。 (常に) 大丈夫ですが、場合によっては、GridView の各行の「削除」LinkBut​​ton が何もしないことがあります。ClientSide 関数も起動しません。まるで死んでいるかのようです。

私はしばらく前に ImageButtons で同様の問題を抱えていましたが、受け取った知恵は「それらを LinkBut​​tons に変更する」ようです。しかし、問題なく機能する「削除」LinkBut​​tons を備えた多数のグリッドがありますが、これは機能しなくなることがあります。

Framework 4.0 に移行して以来、UpdatePanels をあきらめることを考えています。Framework 2.0 で何年も確実に機能していたサイトに問題があるようです

アイデアはありますか?これは、2 番目のポストバックでコントロールが読み込まれる順序と関係がありますか?

編集:これにはひねりがあります。このような状況が発生した場合、つまり、[削除] リンクをクリックしてもクライアント側イベントがトリガーされません。Gridview の外側 (つまり、UpdatePanel の外側) のページの領域をクリックしてから、[削除] リンクをクリックして戻すと、機能します。 !

4

1 に答える 1

1

ImageButtons に関して: IE10 にはバグがあります: ASP.NET が IE10 を検出できず、_doPostBack is undefined JavaScript エラーが発生するか、FF5 スクロールバーの位置が維持されます ( http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx )。.NET 4.5 にアップグレードするだけです。

LinkBut​​tonsについて:「ID」プロパティはありますか?linkBut​​ton に ID がなかったため、同様の問題が発生したことを覚えています。

コードを投稿できますか?それは役に立ちます。

于 2013-08-09T16:33:46.503 に答える