0

大規模な C# asp.net 1.1 プロジェクトを asp.net 2.0 に変換中です。asp.net 1.1 ではすべてが機能しますが、asp.net 2.0 では機能しません。すべてをコンパイルすることができ、ほとんどすべてが機能しますが、次のエラーが発生しました。

Invalid post or callback. <pages EventValidation="True"/> in configuration or <%@Page EnableEventValidation="true"%> in a page.  For security purposes, this feature verifies the arguments to post back or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use ClientScriptManager.Register for event validation method in order to register the postback or call back data for validation.

あるページが別のページを起動し、起動されたページが元のページにポストバックしようとする状況です。これがASP.Net 1.1では機能したが、asp.net 2.0では機能しなかった場合、私の混乱が生じます。「EventValidation」がプロジェクトまたはその依存関係のどこにも見つからないことを確認しました。ClientScriptManager.Register メソッドを使用する必要がある場合、呼び出しは親ページまたは子ページに入る必要がありますか? また、この呼び出しをどこに置くべきですか?

ご提供いただけるご支援をいただければ幸いです。

4

2 に答える 2

0

ドキュメントによると、EnableEventValidationプロパティのデフォルト値は ですtrue

無効にしたくない場合は、値を明示的に に設定する必要がありますfalse。ただし、これは推奨されません。

イベント検証を無効にしないことを強くお勧めします。イベント検証を無効にする前に、アプリケーションに意図しない影響を与えるようなポストバックが作成されないようにする必要があります。

于 2013-06-19T19:59:51.020 に答える
0

最近、Web アプリケーションを .NET 1.1 から .NET 4.0 にアップグレードする必要があり、これらのタグを web.config の<system.web>セクションに追加する必要がありました。

<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" validateRequest="false"/>
于 2013-06-19T20:00:48.483 に答える