問題タブ [eventvalidation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - フォームの「ViewState」が変更された場合はどうなりますか?
すべての標準ASP.NET
形には隠しフィールドがあります:__VIEWSTATE
と__EVENTVALIDATION
。これらのフィールドの値が特定のフォームで変更されるのはいつですか?
asp.net - updatepanel のイベント検証の問題「無効なポストバックまたはコールバック引数」
私は UpdatePanel の処女ですが、問題があります。
2 つのドロップダウン リストがあります。基本的に、最初のドロップダウンで選択した内容に応じて、2 番目のドロップダウンの内容を更新しようとしています。クロムでは、これはすべて正常に機能します。IE では、ドロップダウン ボックスの選択を初めて変更したときに何もしないように見えますが、2 回目に変更すると、以下のエラーが表示されます。
検証のためにコントロールを登録する必要があることを読みました。だから私は次のことを試しました。
私の 2 つのドロップダウン ボックスはユーザー コントロール内にあるため、Render コードをユーザー コントロール レベルに配置しましたが、役に立たないようです。ここで見逃している重要なものはありますか?
「/」アプリケーションでサーバー エラーが発生しました。
ポストバックまたはコールバック引数が無効です。イベントの検証は、設定で使用するか、ページで <%@ Page EnableEventValidation="true" %> を使用して有効にします。セキュリティ上の理由から、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細:
System.ArgumentException: ポストバックまたはコールバック引数が無効です。イベントの検証は、設定で使用するか、ページで <%@ Page EnableEventValidation="true" %> を使用して有効にします。セキュリティ上の理由から、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。
ソース エラー:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
スタックトレース:
[ArgumentException: 無効なポストバックまたはコールバック引数。イベントの検証は、設定で使用するか、ページで <%@ Page EnableEventValidation="true" %> を使用して有効にします。セキュリティ上の理由から、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。]
System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +8656758
System.Web.UI .Control.ValidateEvent(String uniqueID, String eventArgument) +113
System.Web.UI.WebControls.DropDownList.LoadPostData(String postDataKey, NameValueCollection postCollection) +55
System.Web.UI.WebControls.DropDownList.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +13
システム。 Web.UI.Page.ProcessPostData(NameValueCollection postData、ブール値 fBeforeLoad) +327
System.Web.UI.Page.ProcessRequestMain(ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) +878
asp.net - 検証のためにポストバックまたはコールバック データを登録するには、ClientScriptManager.RegisterForEventValidation メソッドを使用します。
皆さん、asp.net 3.5アプリケーションにユーザーコントロールがあり、ボタンクリックイベントでプレーンテキストを渡しています。ボタンはユーザーコントロールにあります。しかし、イベントを発生させると、次のエラーが発生します。
ポストバックまたはコールバック引数が無効です。イベントの検証は、設定で使用するか、ページで <%@ Page EnableEventValidation="true" %> を使用して有効にします。セキュリティ上の目的で、この機能は、ポストバック イベントまたはコールバック イベントへの引数が、それらを最初にレンダリングしたサーバー コントロールから発信されていることを確認します。データが有効で期待される場合は、ClientScriptManager.RegisterForEventValidation メソッドを使用して、検証のためにポストバックまたはコールバック データを登録します。
ブローのような Web フォーム ページに EnableEventValidation="false" を設定すると。イベントを発生させます。
しかし、それをfalseに設定するのは良い考えではないと考えています。それで、ここで代替手段は何ですか?「検証のためにポストバックまたはコールバック データを登録するには、ClientScriptManager.RegisterForEventValidation メソッドを使用してください」というエラーが表示されます。'しかし、私はそのことをどこに登録するつもりですか? ありがとう !
また、ユーザーコントロール内でいくつかの AjaxControlToolkit コントロールといくつかの jquery を使用しています。
.net - イベントの検証: 1 つのコントロールと *任意の* 引数に対して __doPostBack を許可する
私は使用しています
JavaScript で PostBack を作成します。問題は、事前に知られていsomeData
ないことであり、イベントの検証が開始されます。ClientScript.RegisterForEventValidation
someData
これまでのところ、この問題を解決する方法は 2 つしかありません。
- ページのイベント検証をオフにします。これは、セキュリティ上の理由からお勧めできません。
- イベント検証を介してデータを渡す代わりに、JavaScript を介して非表示のテキスト フィールドにデータを配置し、 を呼び出します
__doPostBack
。それは醜いです。
私が見逃した3番目のオプションはありますか?理想的には のようなものが欲しいのClientScript.RegisterForEventValidationIgnoreArguments(myButton)
ですが、このようなものは存在しません...
jquery - 例外: ポストバックまたはコールバック引数が無効です。jQuery が原因で、イベントの検証が有効になっています
さて、私はこれについて読んでいます (実際には、stackOverflow にはありません)。この「古い」トピックについていくつか質問があり、アドバイスが必要です。
まず、私は何をしますか?
JavaScript の関数を使用して onclientclick イベントの値を変更し、同じ関数でコントロールを有効にします。このドロップダウン リストは、ajax ツールキットのカスケード拡張機能を使用して、さらに 2 つのドロップダウン リストを設定します。次に、webService を使用して jQuery AJAX メソッドを使用して新しい情報を保存します。しかし、aspxページ全体を送信する別のボタンがあり、「例外:無効なポストバックまたはコールバック引数。イベント検証が有効です....」という例外が表示されました。
1.- まず、簡単で迅速なオプションは aspx ページでイベント検証を無効にすることですが、これを読むまではお勧めできません。
2.- これを使用してください: http://msdn.microsoft.com/en-us/library/ms223395.aspx私はこれらの例を本当に理解していません:(
3.- ユーザー エクスペリエンスに別れを告げ、「従来の」送信/ポストバック メソッドを使用します。
番号 1 と番号 3 は本当に必要ありません。オプション 2 を完全に理解し、ユーザー エクスペリエンスと ASPX のセキュリティを維持したいと考えています。
どんなアドバイスでも本当に感謝します。ありがとうございました。
更新され たこの記事は、この既知の問題 (または機能) をカバーし、非常によく説明していると思います 。コールバックまたはポストバック引数-again.aspx
更新 2 別の優れた投稿 (stackoverflow で参照): http://johanleino.wordpress.com/2009/11/17/cascadingdropdown-casues-invalid-postback-or-callback-argument-error/
更新 3 これは、例外の別の原因です: ASP.NET マスター ページ: イベント検証エラー
asp.net - GridViewでセルを選択するときに列インデックスを取得する
以下は、個々のセルを選択するために使用するコードです。ただし、そのセルを選択すると、そのセルのデータ、rowIndex および columnIndex が必要になります。残念ながら、すべての調査と他のコードの試行の後.. gridView で選択したセルの columnIndex を取得する方法に行き詰まっています。
これも私が試したことです
* commandName "ColumnClick" で buttonField をやってみました。次に、grdResults_RowCommand を使用して rowIndex と columnIndex を取得しようとしますが、enableEventValidation エラー ページが表示されます。次のようなオーバーライドされたレンダリングがありますが、
c# - ポストバックのエラー
グリッドのある Web ページがあります。[編集] をクリックすると、ポップアップ モーダル ウィンドウが開きます。ポップアップ モーダル ウィンドウ内にはグリッドがあり、その下にはドロップダウン リストと保存ボタンがあります。[保存] をクリックすると、選択した値がモーダル ウィンドウにあるグリッドに挿入されます。
最初はすべて正常に動作しますが、すでにモーダル ウィンドウを閉じていて、プロセスを最初からやり直してしまった場合 (最初のグリッドで編集をクリック > モーダル ウィンドウが表示されます > ddl でアイテムを選択 > 保存ボタンを押します)ポストバック エラーが発生します。更新パネルを使用しており、モーダルウィンドウ内の追加ボタンにポストバックトリガーも追加しました..
最初のグリッドの編集ボタンのコード (これにより、モーダル ウィンドウが呼び出されて開きます)
モーダルウィンドウ内の追加ボタンのコードは次のとおりです(エラーの原因となるもの):
モーダル ウィンドウにグリッドを設定するためのコード:
モーダル ポップ アウトの Aspx コード。このコードは updatepanel タグ内にあります。
c# - イベントの検証-JsHeavyアプリケーションには本当に必要ですか?
これは本当にショーストッパーです、私はイベント検証について考えていました、そしてこれは本当に必要です。ドロップダウンリストがWebサービスデータに基づいてロードされるWebサービス-JavaScript指向のページを構築するためのイベント検証を回避する方法を検討しています。ページのイベント検証を無効にすることもできますが、GoogleやYahooなどの大物がそのような検証をどのように実行するかについていくつかの洞察(主に彼らがそれを行うと思う方法)が欲しいです。これらの組織は非常にパブリックベースであり、ほとんどすべてのサービスにWebサービスを使用しており、物事を単純化するためにajaxに大きく依存しています。
イベントの検証が無効になっている場合、投稿値をどのように検証する必要がありますか。
c# - ASP.Net CascadingDropDown および EnableEventValidation="false"
SelectedIndexChanged を使用して AJAX Toolkit から CascadingDropDown を取得し、選択した値のクエリ文字列を渡すページにリダイレクトしました。元気いっぱいです!
ただし、ページに EnableEventValidation="false" を追加することによってのみ SelectedIndexChanged イベントが機能しました。問題は、CascadingDropDown が私の Web サイトの MasterPage に製品セレクターとして配置されることです。
EnableEventValidation="false" を MasterPage に追加したくありません。MSDN で ClientScriptManager.RegisterForEventValidation メソッドを見てきましたが、頭から離れません。
どうするのが一番いいですか?ClientScriptManager.RegisterForEventValidation を使用する簡単な例はありますか?
乾杯...
編集: コードは次のとおりです。
そして、イベントは次のとおりです。