【解決方法】無効なコールバックとポストバックの問題


Sys.WebForms.PageRequestManagerServerErrorException: ポストバックまたはコールバック引数が無効です。 イベント検証は、構成で を使用するか、ページで <%@ Page EnableEventValidation="true" %> を使用して有効にします。 セキュリティ上の目的で、この機能は、ポストバック イベントまたはコールバック イベントの引数が、それらを最初にレンダリングしたサーバー コントロールからのものであることを検証します。 データが有効で予期されるものである場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証用のポストバック データまたはコールバック データを登録します。
….

すぐに返信してください

解決策 4

Page_Load でバインドが行われるときに、ScriptManager がコントロールを見つけられない場合があります。代わりに、Page_PreRender でデータをコントロール (データセットなど) にバインドすることで問題が解決されます。

解決策 2

この問題が発生しているページに対して EnableEventValidation = false を設定してみてください。

さらに、Web.Config ファイルが Ajax スクリプトで動作していることを確認してください。
また、Scriptmanagers の部分レンダリングが有効になっていることを確認してください。

解決策 1

エラーメッセージが示唆するように、次のコマンドを使用できます。 ClientScriptManager.RegisterForEventValidation[^] メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。

または、ページの EnableEventValidation を false に設定することもできます。

解決策 3

無効なコールバックとポストバックの問題

Griedview、datalist、またはリピーター コントロールを使用している場合、このコントロールをバインドするときに、これを if(!ispostback()){….} に置く必要があります。

解決策 10

Page_Load メソッドにこれを入れるだけです
if(!IsPostBack)
{
///コード….
}
このようなエラーは発生しません….

コメント

タイトルとURLをコピーしました