2

私は UpdatePanel の処女ですが、問題があります。

2 つのドロップダウン リストがあります。基本的に、最初のドロップダウンで選択した内容に応じて、2 番目のドロップダウンの内容を更新しようとしています。クロムでは、これはすべて正常に機能します。IE では、ドロップダウン ボックスの選択を初めて変更したときに何もしないように見えますが、2 回目に変更すると、以下のエラーが表示されます。

検証のためにコントロールを登録する必要があることを読みました。だから私は次のことを試しました。

protected override void Render(HtmlTextWriter writer)
        {
            Page.ClientScript.RegisterForEventValidation(DropDown1.UniqueID, "1");
            Page.ClientScript.RegisterForEventValidation(Dropdown2.UniqueID, "2");

            base.Render(writer);
        }

私の 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

4

0 に答える 0