3

dragPanelExtender 内にある popupControlExtender 内の更新パネルでこのエラーが発生します。

他の多くの人がこの問題を抱えており、さまざまな修正を行っていますが、どれもうまくいきませんでした。

なぜこれが起こっているのか、そして将来そのような問題を回避するための確実な方法についての論理的な説明を聞きたい.

トリガーがImageButtonではなくLinkBut​​tonの場合、他の人がこのエラーを維持しているように、誰かが説明を持っているかどうか疑問に思っています。

4

3 に答える 3

2

私は同じ問題を抱えていて、私が望むことを正確に行うhttps://siderite.dev/blog/thispostbacksettingsasync-is-null-or.htmlにたどり着くまで、満足のいく解決策を実際には見つけられませんでした。

将来リンクが切れる可能性があるという問題を回避するために、コードは次のとおりです。

var script = @"
if (Sys &&
    Sys.WebForms && Sys.WebForms.PageRequestManager &&
    Sys.WebForms.PageRequestManager.getInstance) 
{
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    if (prm &&
       !prm._postBackSettings)
    {
        prm._postBackSettings = prm._createPostBackSettings(false, null, null);
    }";

ScriptManager.RegisterOnSubmitStatement(
    Page, 
    Page.GetType(), 
    "FixPopupFormSubmit", 
    script);

_postBackSettings が設定されていない送信の場合、それらが作成され、_postBackSettings.async が使用可能になるため、null 参照例外が消えます。

お役に立てれば、

G.

于 2011-02-24T13:15:05.263 に答える
1

ScriptManager コントロールで "EnablePartialRendering" を false に設定すると、エラーが回避されますが、これは最適な解決策ではありません。アプリケーションによっては、部分的なレンダリングの利点を失うことは大きな問題になる可能性があります。

記録のために、私はエラーを見た他の人々とまったく同じことをしていませんでした. チェックボックスリストであるPopupControlExtenderがあります。プログラムですべてを選択/選択解除するためのJavaScriptメソッドを使用して、「すべて選択」リンクを追加しました。Imagebutton は使用していません。JavaScript を追加する前はエラーが表示されませんでしたが、削除した後でもエラーが残ります。私が見逃している別の変更が必要です。

これが誰かに役立つことを願っています...

--マット

于 2009-01-02T19:38:48.770 に答える
1

私の最善の推測は、UpdatePanel がカスタムの「非同期」プロパティをポストバック要求に適切に書き出すことができないということです。これは、それをラップするコントロールの 1 つからのブロックが原因である可能性があります (私の直感では、それは popupControlExtender です。表示/非表示の目的で内部のイベントを管理することを目的としているため、updatepanels で奇妙な動作をする傾向があります)。

updatepanel を削除して、特定のビジネス ニーズに合わせて独自のソリューションを展開するか、独自のポップアップ スクリプトを実装することをお勧めします (おそらく、少し書きやすくなります)。

ちなみに、背景として、「this._postbackSettings.async」は、これが非同期呼び出しかどうかを判断しようとする AJAX.NET フレームワークです。ポストバックが送信される前にこれをプログラムで設定することで、これを克服できる場合があります (ポストバック イベントをキャッチし、フィールドがまだ存在しない場合はポストバック リクエストに追加します)。

ちょっと考えてみてください...これには「プラグアンドプレイ」の答えがあるとは思いません!

于 2008-09-12T16:44:49.017 に答える