web-dev-qa-db-ja.com

Sys.WebForms.PageRequestManagerServerErrorException:サーバーでリクエストを処理中に不明なエラーが発生しました。

ページにいくつかの更新パネルとjqueryタブがあります。また、更新パネルにいくつかのユーザーコントロールを読み込んでいます。ユーザーが数分待った後(約40分はチェックされません)。ユーザーが送信ボタンからリクエストを送信すると、以下のエラーが発生しますか?

'Sys.WebForms.PageRequestManagerServerErrorException:
Sys.WebForms.PageRequestManagerServerErrorException: An unknown 
error occurred while processing the request on the server. The status 
code returned from the server was: 0' when calling method: 
[nsIDOMEventListener::handleEvent]

この問題を修正するためにトレースすることはできません。しかし、私は確信しています。これはAjaxが原因です。解決策を知っているなら、達人。私にお知らせください。

34
James123

この問題は、複数の更新パネルでAsyncPostbackTriggerとして登録されているコントロールがある場合に発生することがあります。

それが問題でない場合は、スクリプトマネージャーの宣言の直後に次を追加してみてください。

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args){
        if (args.get_error() != undefined){
            args.set_errorHandled(true);
        }
    }
</script>

ここで説明されているソリューションがいくつかあります。 http://forums.asp.net/t/1066976.aspx/9/1

29
James Johnson

私はこの問題を抱えていて、それを修正しようとして何時間も費やしました。

回答済みとしてチェックされたソリューションは、エラーを修正するだけではなく、それを処理します。

最善の方法は、IISログファイルとエラーがあるはずです。更新パネルは実際のエラーをカプセル化し、「javascriptエラー」として出力するようです。

例えば、私のエラーは、クラスを作成するのを忘れたことでした[シリアル化可能]。これはローカルで正常に機能しましたが、サーバーにデプロイされたときには機能しませんでした。

29
Scriptworks

UpdatePanelのGridViewにボタンがあるときにこのエラーが発生しました。コードをデブすると、上記のエラーは別の内部エラー「クライアントから潜在的に危険なRequest.Form値が検出された」が原因であることがわかりました

最後に、ページ上のTextBoxの1つにXML/HTMLコンテンツがあり、xml/HTMLを削除してボタンクリックをテストすると、上記のエラーが順番に発生することがわかりました。

8
RaviKumar

このソリューションも役立ちます。

追加 validateRequest="false" の中に <%@ Pageディレクティブ。

これは、ASP.netがブラウザからの入力を調べて危険な値を探しているためです。詳細はこちら link

5
Cdeez

兄弟このコードは解決策ではありません

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args){
        if (args.get_error() != undefined){
            **alert(args.get_error().message.substr(args.get_error().name.length + 2));**
            args.set_errorHandled(true);
        }
    }
</script>

エラーが表示されますが、UIにはエラーが表示されません。

5
user1341446

私は同じ問題を抱えています、ここで私の問題とこれが誰かを助けることを願って私の解決策を与えます:

他の人の推奨に従って、私はサーバーのログ(私の場合はWindows Server 2012)に行きました:

コントロールパネル->管理ツール->イベントビューアー

次に左側で:

Windowsログ->アプリケーション:

enter image description here

警告で自分のサイトからのメッセージを見つけましたが、私の場合はnull参照が原因でした:

*Exception type: NullReferenceException 
Exception message: Object reference not set to an instance of an object.*

そして、ログに記述されている関数をチェックすると、初期化されていないオブジェクトが見つかりました。

したがって、コード内のnull参照例外である可能性があります。誰かがこの便利な挨拶を見つけることを願っています。

4
JCO9

私も同じ問題に直面しましたが、どれも機能しませんでした。私の場合、これは設定ファイルにこれらの行を追加することで修正されました。

<appSettings>
  <add key="aspnet:MaxHttpCollectionKeys" value="100000" />
</appSettings>

<system.web.extensions>
  <scripting>   
    <scriptResourceHandler enableCompression="false" enableCaching="true"/>       
  </scripting>
</system.web.extensions> 
2
rns

@ JS5、私もあなたと同じ問題に直面しました:実稼働サーバーとIEでのみUpdatePanel内で例外を発生させるImageButton。いくつかの調査の後、私はこれを見つけました:

ImageButtonsおよびUpdatePanelsに問題があります。 .NET 4.5への更新はそこで修正されています。 MicrosoftがボタンクリックのX、Y軸をIntからDoubleに変更したため、クリックしたボタンのどこで変換エラーがスローされているかがわかります。

ソース

NetFramework 2.0とIIS 6を使用しているため、推奨される解決策は、ダウングレードすることでしたIEメタタグを追加する互換性:

<meta http-equiv="X-UA-Compatible" content="IE=9" />

これを行う必要があるページでのみ、Page_Loadメソッドを使用してこれを実行しました。

Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    Dim tag As HtmlMeta = New HtmlMeta()

    tag.HttpEquiv = "X-UA-Compatible"
    tag.Content = "IE=9"

    Header.Controls.Add(tag)
End Sub

これが誰かを助けることを願っています。

2
Santiago Trejo

ApplicationEvent Log-私の問題はTelerik RadCompression Web.configで無効にしたHTTPモジュール。

2
PeterX

これは本当の問題ではありません。なぜこれが起こっているのかを知りたい場合は、IISのエラーログファイルにアクセスしてください。

visual Studioの場合は、次の場所に移動してください。

C:\Users\User\Documents\IISExpress\TraceLogFiles\[your project name]\.

ここでファイルを日付ごとに降順に並べ、最初のファイルを開きます。

次のようになります。

enter image description here

一番下までスクロールして、GENERAL_RESPONSE_ENTITY_BUFFERそれは実際の問題です。上記の問題が自動的に解決します。

enter image description here

1
Abhishek Suman

"1-アプリケーションのweb.configに移動します"

「2-<system.web>の下に新しいエントリを追加します」

3-また、ページタグを見つけて、validateRequest = Falseを設定します

これだけが私のために機能します。 !!

1
Ven

Visual Studioの内部IISを使用している場合は、次を試してください。

  1. エラーメッセージを生成します。
  2. エラー表示でデバッガーを中断します。
  3. コールスタックを確認してください。 「レイズ」が表示されます。
  4. 「レイズ」をダブルクリックします。
  5. 「送信者」パラメータの内部を確認してください。 「_xmlHttpRequest」プロパティが表示されます。
  6. 「_xmlHttpRequest」プロパティを開くと、「response」プロパティが表示されます。
  7. 「response」プロパティには実際のメッセージが含まれます。

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

1
Russ Rahn

また、同じ問題に直面しましたが、問題はサーバーでしか再現できませんでした(つまり、ローカルではなく、アプリケーションをデバッグできなかったため修正がさらに困難になりました)、およびIEを使用している場合にのみ可能です。更新パネルのあるページと、この更新パネル内にmodalpopupextenderがあり、そこにも更新パネルが含まれていました。動作しなかったいくつかの解決策を試した後、モーダルポップアップエクステンダー内のすべての画像ボタンをリンクボタンに置​​き換え、その中で必要な画像を修正することで修正しました。

1
JS5

私は同じ問題を抱えていました、それを解決する方法を試していたとき、更新パネルがこの問題を引き起こしていることがわかりました。私の要件に応じて、更新パネルを削除して問題を取り除くことができます。だから、それは問題の可能な解決策です。

1
Hash

更新パネルにModalPopupExtenderがあったときにこのエラーが発生しました...コードを削除すると、上記のエラーはupdatepanel updatemodeが条件付きであることが原因であることがわかりました...常に変更すると問題は解決します。

0
Deepak_007

これに対する私の修正は、更新パネル内のasp.netコードのTextBoxのText = ""プロパティにあるHTMLマークアップを削除することでした。 1ページに複数の更新パネルがある場合、それらすべてに影響するため、どのパネルに問題があるかを判断するのが難しくなります。上記のクリスの答えは私にこれを見つけさせましたが、彼は非常に隠された答えですが、私は非常に関連性の高い答えだと思いますので、ここで答えを説明します。

<asp:TextBox ID="bookingTBox" runat="server" ToolTip="" Width="150px" Text="<Auto Assigned>" CssClass="textboxItalicFormat"></asp:TextBox>

上記のコードではこのエラーが発生します。

以下はしません。

<asp:TextBox ID="bookingTBox" runat="server" ToolTip="" Width="150px" Text="Auto Assigned" CssClass="textboxItalicFormat"></asp:TextBox>

2番目のテキストボックスコードでは、Text = ""プロパティから<と>を削除しました。スクリプトコードなどの行を追加する前に、これを試してください。

0
FlashTrev

私にとって問題は、<button>の代わりに<asp:LinkButton>

0
Hervé Donner
<add key="aspnet:MaxHttpCollectionKeys" value="100000"/ >

このエラーを削除するには、上記のキーをWeb.configまたはApp.configに追加します。

0
Akshay

いくつかのコードが原因で、テキストフィールドにHTMLタグを取得することがあります。たとえば、一部の文字をHTMLの改行BRタグに置き換え、誤ってマルチラインテキストボックスに表示されるはずのテキストに置き換えました。私の複数行テキストボックスには、文字列置換機能のために動的に来る新しい行HTMLタグBRがあり、このJavaScriptエラーが発生し始め、このHTMLコードが更新パネルにあるテキストボックスに表示されたため、このエラーが発生し始めましただから私は修正を行い、すべてが大丈夫だった。したがって、貼り付けをコピーする前に、コードを調べて、すべてのタグが適切に閉じられており、テキストボックスまたはドロップダウンリストに無関係なコードデータがないことを確認してください。このエラーは常に不正な形式のタグと無関係なデータが原因で発生します。

0
user3004710

これは私のコードでうまく機能していました..問題を解決しました..本当に

web.configファイルに以下のコードを追加します。

<system.web>
    <httpRuntime executionTimeout="999" maxRequestLength="2097151"/>
</system.web>
0
kasim

プロジェクトを4.5フレームワークにアップグレードしたときにこの問題が発生し、GridViewに空のデータテンプレートがありました。何かが変更され、以前は空のデータテンプレートを返していた次のステートメントがヘッダー行を返していました。

GridViewRow dr = (GridViewRow)this.grdViewRoleMembership.Controls[0].Controls[0];

以下に変更すると、エラーがなくなり、GridViewが期待どおりに動作し始めました。

GridViewRow dr = (GridViewRow)this.grdViewRoleMembership.Controls[0].Controls[1];

これが誰かの助けになることを願っています。

0
Harini

CDNがルートディレクトリの場合は、必ずチルダとスラッシュ(〜/)を入力してください。 IISの問題だと思います

0
Jok Garcia

私にとってこの問題は、データベースマッピングエラーが原因でした。

コードビハインドにエラーがあるデータソースでselect()呼び出しを使用しようとしました。私のコントロールは更新パネル内にあり、実際の原因は隠されていました。

通常、更新パネルを一時的に削除できる場合、asp.netはより有用なエラーメッセージを返します。

0

IFrameでAsyncFileUploaderを使用するときにこの問題が発生していました。 firefoxの使用時にエラーが発生しました。作業中chrome=うまくいきました。親ページまたはiframeページのいずれかが非同期でロードされ、親ページがiframeページのコントロールを見つけることができなかったようです。ファイルがアップロードされたと言います。これにより、コントロールがロードするのに十分な時間が与えられ、コントロールが使用可能になったため、エラーなしですべてがロードされました。

0
user3246423

Updatepanel内で次のコードを使用します。

<script type="text/javascript" language="javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
    function EndRequestHandler(sender, args){
        if (args.get_error() != undefined){
            args.set_errorHandled(true);
        }
    }
</script>
0
yogesh Kumar

上記の私の友人@RaviKumarが次の問題の1つの理由として、コードからUIに転送されたデータの一部にリクエストを無効にする生のhtmlタグが含まれているため、たとえばtextareaがあり、私のコードには以下のコードで値を設定します

txtAgreement.Text = Data.Agreement

ページをコンパイルすると、textarea内に生のhtmlタグが表示されるので、textareaをdivに変更し、その上でinnerhtmlが機能し、htmlをレンダリングします(要素に生のhtmlタグを挿入する代わりに) )そしてそれは私のために働いた

ハッピーコーディング

0
Code_Worm

私のための答えは、monstrous amount of selectable items-でロードされたドロップダウンリストを持つテンプレートフィールドを含むgridviewコントロールを修正することでした-私はDDLを、関数。 (私はもともとgridview編集を許可するつもりでしたが、そのレコードのそのフィールドのDDLを表示する別のパネルで編集を許可するように切り替えました)。これが誰かを助けるかもしれないことを願っています。

0
user84867