0

私は助けが必要です。asp.net マスター ページ、更新パネル、およびサーバー コントロールを使用する .Net 3.5 で 1 つの Web アプリケーションを作成しました。マスターページを使用して作成されたasp.netページがあり、そこには更新パネルが含まれており、更新パネルには他のサーバーコントロールが含まれています。更新パネルにあるリンクボタンのポストバックをjavascriptから生成しようとしています

__doPostBack('<%= ServerControl.ClientID.Replace("_","$") %>', '');

各ブラウザはこのコードを実行していますが、IE7 はこの JavaScript を実行していません。IE7 で次のエラーが発生します。

SCRIPT5022: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details: Error parsing near '

<!DOCTYPE html P'. 
ScriptResource.axd?d=83rNjjrfU8utKX3Fb9DiQ2ssFx4VjayT06ZNJ9Aj38iN2ufeWDf1Hd7nu73QshB8Q80tcmosFZ1IQcnqEvC-7nMUe8kLPGpreZP7iBWnviMAl8vzvxmED51yr720yzPv0&t=ffffffffec2d9970, line 513 character 13

ここで何が原因なのかわかりません。私はこれを設定しようとしました

ValidateRequest="false" EnableEventValidation="false"

しかし、まだ機能していません。クライアントに非同期リクエストを送信したいので、更新パネルを使用しました。そのため、非同期ポストバック タイプのイベントのみを使用したいのですが、PostBack タイプのイベント (ページ全体をリロードする) を使用したくありません。

誰でもこれで私を助けることができますか?本当に大きな助けになります。

ありがとう、

アンヴェッシュ

4

3 に答える 3

3

そのエラーの最も一般的な理由:

  • Response.Write() の呼び出し:
  • 応答フィルター
  • Httpモジュール
  • サーバー トレースが有効になっています
  • Server.Transfer() の呼び出し

エラー Sys.WebForms.PageRequestManagerParserErrorException を回避する方法の詳細については、このブログを参照してください - エラーの内容と回避方法

于 2012-09-07T10:58:24.220 に答える
1

わかりました私はこの問題を自分で解決しました。

私がしたことは、私が設定したことです

ValidateRequest="false"

ページディレクティブで。また、フォームタグから action="#" を削除しました。

これを変更しました

<form id="Form1" method="post" action="#" runat="server">

これに:

<form id="Form1" method="post" runat="server">

ここに返信を書いているので、誰かが同じ問題に直面している場合は、この解決策を使用できます。

ありがとう、アンヴェッシュ

于 2012-09-08T09:02:32.043 に答える