0

この質問は以前にもあったようですが、私の状況は少し違うように感じます。

グリッドビューを含むページがあります。グリッドビュー内のレコードの 1 つを編集するためにボタンが押されると、ボタンはまず、編集のためにモーダル ウィンドウをポップアップするクライアント スクリプトを実行します (.onClientClick を使用して設定)。このポップアップから、ユーザーは [更新] をクリックしてデータベースを更新し、ウィンドウを閉じます。ウィンドウが閉じられると、ボタンのサーバー側コードが起動し、関数が呼び出されてグリッドビューが更新されます。代わりに、次のエラー メッセージが表示されます。

ポストバックまたはコールバック引数が無効です。イベントの検証は、構成またはページで使用して有効にします。セキュリティ上の目的で、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。

本当にイライラするのは、これとまったく同じロジックを別のページで使用し、正常に動作することです。

これを回避する方法について何か提案はありますか?

更新: クライアント側スクリプトを追加したコード行を削除しましたが、まだエラーが発生します。したがって、単にポストバックが原因であると確信しています。よく調べてみると、実際にはいくつかの ListItems がプログラムによって DropDownLists にバインドされていることがわかりました。だから...私はおそらくClientScriptManager.RegisterForEventValidationのことをする必要があります....それを行うための構文がどのように見えるかについて、誰かが私に例を与えることができますか? ScriptManager オブジェクトとは異なる設定になっているようです....

4

6 に答える 6

1

ボタンがコード ビハインドで作成された場合 (たとえば、RowDataBoundイベントが の新しいインスタンスを作成してセルに追加する場合)、ページのコントロール イベント ステージの前に、Buttonそれらのコントロールを (同じ で) 再作成する必要があります。IDライフサイクル。イベントでボタンを再作成すると、正常にLoad動作するはずです。

コントロールが作成され、それらのイベントにハンドラーがアタッチされている場合、このエラーの原因として最も可能性が高いのは、DOM/フォームを変更する JavaScript です。

于 2009-03-30T20:58:23.367 に答える
0

同様のエラーが発生し、これでエラーが解決されたら、ページディレクティブでこの行を試してください

EnableEventValidation="false"

よろしく!!!

于 2009-03-30T21:51:33.440 に答える
0

イベントの検証は、最初にページを処理/レンダリングしたときに許可されたものに対応しない値を誰かがページに追加していないことを確認しようとします。使用しているコントロールによっては、グリッドビューの完全な再バインドを行っていて、基になるデータが変更されている場合、ページの "有効な値" がポストバックで受け取った値と一致しなくなる可能性があります。

シナリオに依存するオプションは、その場合はポストバックを使用せず、通常のリンクを実行してページを更新することです。または、提案されているように EnableEventValidation=false を実行できますが、クライアントに送信した値に依存していないことをさらに確認する必要があります。つまり、バインドしたリストにない値がドロップダウンに含まれる可能性があります。

于 2009-03-30T22:05:26.293 に答える
-1

ASP.Net WebForm を作成して [送信] ボタンをクリックすると、このエラーが発生しました。

タグ内にネストされたタグを使用して HTML が作成されており、ブラウザは、ネストされたタグが ASP.Net フォームを閉じていると認識していました。その結果、__EVENTVALIDATION 隠しフィールドがフォームの外側にあり、サーバーに送信されませんでした。

マークアップからネストされたタグを削除すると、問題が解決しました。

あなたの質問が解決したことは知っていますが、これが同じように苦しんでいる人の助けになることを願っています.

于 2014-07-31T12:47:05.717 に答える