ポストバックまたはコールバック引数が無効です。イベントの検証は、「<pages enableEventValidation =“ true” />」を使用して有効化されます


238

クライアント側からページをポストバックすると、次のエラーが発生します。クライアント側でasp:ListBoxを変更するJavaScriptコードがあります。

これをどのように修正しますか?

以下のエラーの詳細:

Server Error in '/XXX' Application.

--------------------------------------------------------------------------------
Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ArgumentException: Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.]
   System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +2132728
   System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +108
   System.Web.UI.WebControls.ListBox.LoadPostData(String postDataKey, NameValueCollection postCollection) +274
   System.Web.UI.WebControls.ListBox.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +11
   System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +353
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1194

--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

page_loadイベントでデータバインドを実行しないでください。
Paul Zahra

回答:


171

問題は、ASP.NETがこの余分なリストアイテムや削除されたリストアイテムを認識しないことです。いくつかのオプションがあります(以下にリスト):

  • eventvalidationを無効にします(非常に少ないコストでセキュリティが少し失われるため、悪い考えです)。
  • ASP.NET Ajax UpdatePanelを使用します。(リストボックスを追加または削除する場合は、更新パネルにリストボックスを配置して更新をトリガーします。このようにして、ビューステートと関連フィールドが更新を取得し、eventvalidationが渡されます。)
  • クライアント側を忘れて、クラシックなポストバックを使用し、サーバー側でリストアイテムを追加または削除します。

これがお役に立てば幸いです。


もう1つのオプション:IPostBackEventHandlerを実装してjs __doPostBack( '<%= UniqueId.ToString()%>'、arg)を
呼び出します

上記の提案に基づいて、ドロップダウンを通常のASP.NET asp:UpdatePanelに配置し、ドロップダウンをコードビハインドにロードしてから、upNewRecord.Update();をロードしました。
Ricardo Appleton 2016年

183

Page_Loadイベントにコードがありますか?もしそうなら、おそらく以下を追加することで助けになります。

if (!Page.IsPostBack)
{ //do something }

このエラーは、コマンドをクリックしてPage_loadが再度実行されたときにスローされます。通常のライフサイクルでは、Page_Load->クリックコマンド-> Page_Load(再度)-> Process ItemCommandイベントになります。


7
ああ、ありがとう、私の場合はトリックでした!ページロードでドロップダウンリストを再読み込みしたため、フレームワークはddlのアイテム(新しいアイテム)の制御を失い、クリックしたアイテム(これはもう存在しません)を制御できなくなりました
Michel

OPと同じエラーが発生しました...フォームでウィザードを使用していて、ページの読み込みで0ステップを呼び出していました。それを削除すると問題が消えました。ありがとう...
2011年

この回答に感謝します...同じ問題があり、グリッドにデータをロードするときにポストバックを無視するのを忘れていたことがわかりました...多くの時間を節約
Quagmire

10
ああ!MVCからWebフォームに戻るのは面倒です。これが正解です
Vishnoo Rath 2014

2
私はこれを行いましたが、ポストバックではないときにpage_loadイベントで実行する必要があるコードがあり、それでも同じエラーが発生したため、うまくいきませんでした。リピーターのビューステートを無効にすると、代わりに問題が解決しました。
ブライアン

40

DataGridの経験がありました。その列の1つは「選択」ボタンでした。行の[選択]ボタンをクリックすると、次のエラーメッセージが表示されました。

"ポストバックまたはコールバックの引数が無効です。イベント検証は、構成またはページの<%@ Page EnableEventValidation =" true "%>を使用して有効になっています。セキュリティ上の理由から、この機能はポストバックまたはコールバックイベントへの引数が元々それらをレンダリングしました。データが有効で予期されている場合は、ClientScriptManager.RegisterForEventValidationメソッドを使用して、ポストバックまたはコールバックデータを検証用に登録します。

いくつかのコードを変更して、ようやく成功しました。私の体験ルート:

1)ページ属性をに変更しましたEnableEventValidation="false"しかし、それはうまくいきませんでした。 (これはセキュリティ上の理由で危険なだけでなく、イベントハンドラーが呼び出されませんでした:void Grid_SelectedIndexChanged(object sender, EventArgs e)

2)ClientScript.RegisterForEventValidationRenderメソッドで実装しました。しかし、それはうまくいきませんでした。

protected override void Render(HtmlTextWriter writer)
{
    foreach (DataGridItem item in this.Grid.Items)
    {
        Page.ClientScript.RegisterForEventValidation(item.UniqueID);
        foreach (TableCell cell in (item as TableRow).Cells)
        {
            Page.ClientScript.RegisterForEventValidation(cell.UniqueID);
            foreach (System.Web.UI.Control control in cell.Controls)
            {
                if (control is Button)
                    Page.ClientScript.RegisterForEventValidation(control.UniqueID);
            }
        }
    }
}

3)グリッド列のボタンタイプをからに変更しPushButtonましたLinkButton出来た!( "ButtonType =" LinkBut​​ton ")他の場合にボタンを" LinkBut​​ton "のような他のコントロールに変更できれば、正しく動作すると思います。


1
私の解決策は、データグリッド内のネストボタンをあきらめることでした。MSは再び私を失敗させます。
Jacobs Data Solutions、

あなたの解決策も私のために働いています。ありがとうございました。しかし、が同じプログラムでButton作業しているのになぜが機能しないのか知りたい linkButtonもしそうなら、常に使用する必要がありますlinkButtonか?どうすればもっと柔軟にできますか?
フランクMyat木2012

8
あなたのボタンUseSubmitBehavior =「偽」に追加してみstackoverflow.com/questions/2968525/...
JJschk

Awesomeeeeeee :) ..これは経験によってのみ学習できます。.実際のscenerio tatショーを証明しました経験は最高の教師です。
saun4frsh 14

Renderのオーバーライドでは、base.Render(writer);を配置する必要があります。最後に...それ以外の場合は動作しません!
Paul Zahra

28

イベントの検証を無効にしないでください。

asp:listboxクライアント側へのアイテムの追加には、2つの主な問題があります。

  • 1つ目は、イベントの検証に干渉することです。サーバーに戻ってきたのは、送信したものではありません。

  • 2つ目は、イベント検証を無効にした場合でも、ページがポストバックされたときにリストボックスのアイテムがビューステートから再構築されるため、クライアントで行った変更は失われます。これは、asp.netはクライアントでリストボックスの内容が変更されることを想定しておらず、選択が行われることのみを想定しているため、行った変更を破棄するためです。

最良のオプションは、推奨されているように、更新パネルを使用する可能性が高いです。このクライアント側を本当に実行する必要がある場合の別のオプションは、の<select>代わりにプレーンオールドを使用し、<asp:ListBox>アイテムのリストを非表示フィールドに保持することです。ページがクライアントでレンダリングされるときに、テキストフィールドのコンテンツの分割からページを設定できます。

次に、投稿する準備ができたら、変更した非表示フィールドの内容を再入力します<select>。その後、もちろん、サーバー上でそれを再び分割し、アイテムで何かを行う必要があります。これは、サーバー上に戻ったため、選択が空であるためです。

全体として、これは私が本当にお勧めしないかなり厄介なソリューションですが、listBoxのクライアント側の変更を本当に行う必要がある場合、それは機能します。ただし、このルートに進む前にupdatePanelを確認することをお勧めします。


3
c、選択したアイテムを非表示フィールドに保持する必要はありません。選択ボックスをrunat = "server"にすると、Request.Form [ selectid .UnqiueID] からポストバックされた値を読み取ることができます。そして、複数が選択されている場合、ブラウザーはその値をcsvとして投稿します。サーバーが認識していないクライアントのitrmlistを変更したため、コントロールの項目とselectedindexプロパティがサーバー上で正しくないことに注意してください。
マイケル

マイケル、うまくいきました。「multiple = true」を追加するかぎり、それ以外の場合は1つの値しか得られません。ありがとう
Sameer Alibhai、2011

1
改行文字のあるドロップダウンリストでも同じ問題がありました。選択への変更は完全に機能しました。ありがとう!
thchaver

<select>は問題を解決するプレーンオールドを使用しました。クライアント側のajaxデータのロードと比較して、Updatepanelがデータのロードに時間がかかる理由を教えてください。
Pranesh Janarthanan 2017年

17

EnableEventValidationがオンになっているWebサイトに、RepeaterコントロールのあるWebページがあるため、Repeaterにも同じ問題がありました。良くなかった。無効なポストバック関連の例外が発生しました。

私にとってうまくいったのは、リピーターにEnableViewState = "false"を設定することでした。利点は、WebサイトまたはWebページのイベント検証をオフにするのと同じくらい簡単に使用できることですが、スコープはどちらか一方のイベント検証をオフにするよりもはるかに狭いです。


3
レガシーWebコントロールでこの問題が発生しました。私たちのWebプラットフォーム/ CMS(sitecore)は、イベントの検証をオンにする大きなアップデートを取得しました(以前はオフでした!痛い!)。リピーターコントロールはWebギャラリーに画像を表示しており(画像を再配置するためのボタンを備えています)、これらのボタンのポストバックで例外が発生しました。あなたが提案したように、EnableViewState = "false"を使用してリピーターのビューステートを無効にしました。他の人が見つけたように、Render()のオーバーライドとClientScriptManager.RegisterForEventValidation()の使用は私にとっては機能しませんでした。ありがとうございました!
XAN

@xanと同様に、Sitecoreも使用しています。これがまさに私が必要としていたことです。
wilsjd

これも私にとってはうまくいきました。AJAX Updateパネルも同様に機能しますが、このケースでは必要のないオーバーヘッドが膨らんでいたため、Umar Farooq Khawajaに感謝します。
ブライアン

17

上記のどれもうまくいきませんでした。さらに掘り下げた後、問題を引き起こしているページに適用された2つのフォームを見落としていたことに気付きました。

<body>
<form id="form1" runat="server">
<div>
        <form action="#" method="post" class="form" role="form">
        <div>
        ...
        <asp:Button ID="submitButton" runat="server"
        </div>
</div>
</body>

最近、ASP.NETは、iframeドキュメント自体のフォームタグをネストしたフレームに含むフォームタグ内のiframeを検討し始めたことに注意してください。このエラーを回避するには、iframeをフォームタグの外に移動する必要がありました。


12

クライアントでJavaScriptを使用してListBoxを変更するときにも同じ問題が発生しました。ページがレンダリングされたときにそこになかった新しい項目をクライアントからListBoxに追加すると発生します。

私が見つけた修正は、クライアントから追加できるすべての有効なアイテムをイベント検証システムに通知することです。これを行うには、JavaScriptがリストボックスに追加できる値ごとに、Page.Renderをオーバーライドし、Page.ClientScript.RegisterForEventValidationを呼び出します。

protected override void Render(HtmlTextWriter writer)
{
    foreach (string val in allPossibleListBoxValues)
    {
        Page.ClientScript.RegisterForEventValidation(myListBox.UniqueID, val);
    }
    base.Render(writer);
}

リストボックスに有効である可能性のある値が多数ある場合、これは一種の苦痛になる可能性があります。私の場合、2つのリストボックス間でアイテムを移動していました。1つはすべての可能な値を持ち、もう1つは最初は空ですが、ユーザーがボタンをクリックするとJavaScriptの最初の値のサブセットが入力されます。この場合、最初のListBoxの項目を反復処理し、それぞれを2番目のリストボックスに登録するだけです。

protected override void Render(HtmlTextWriter writer)
{
    foreach (ListItem i in listBoxAll.Items)
    {
        Page.ClientScript.RegisterForEventValidation(listBoxSelected.UniqueID, i.Value);
    }
    base.Render(writer);
}

9

ここで言及されていないもう1つの方法は、ListBoxをサブクラス化することです。

すなわち。

public class ListBoxNoEventValidation : ListBox 
{
}

サブクラス化した場合、System.Web.UI.SupportsEventValidation属性のClientEventValidationキーは、明示的に追加し直さない限り、検証ルーチンを呼び出すことはありません。これはどのコントロールでも機能し、コントロールごとに(つまり、ページレベルではなく)コントロールで「無効」にする唯一の方法です。


2
ここでうまく説明されています
Pavel Hodek

1
これに取り組むことが最善の方法だと思います。ページレベルではなくコントロールレベルで修正する必要があります。関連するすべてのコントロールのセキュリティを危険にさらす+1と、そのリンクの@PavelHodekに感謝します。
James Poulose 2013年

残念ながら、これを行った場合、クライアントに追加されたリストアイテムは、ページがポストバックされたときに選択されたアイテムであると認識されないようです。
ジョナサンウッド

9

あなたはあなたの.aspxページでそのようなことを試します

追加

EnableEventValidation = "false"

ご質問はお気軽にどうぞ!


エラーが表示されないようにするために、フレームワークによる組み込み検証の提供を無効にすることがこの場合の最も適切な解決策であるかどうかを私は主張します。
Jviaches

8

クライアント側のスクリプトを介してDropdownListに入力する場合は、フォームをサーバーに送信する前にリストをクリアしてください。その場合、ASP.NETは文句を言わず、セキュリティはオンのままです。

また、DDLから選択されたデータを取得するには、DDLに "OnChange"イベントをアタッチして、非表示の入力またはStyle = "display:none;"を含むテキストボックスに値を収集します。


+1実装が簡単。最もクリーンではないかもしれませんが、十分簡単です。
nutsch 2014

7

3:グリッド列のボタンタイプを「PushButton」から「LinkBut​​ton」に変更しました。出来た!( "ButtonType =" LinkBut​​ton ")ボタンを他の場合に" LinkBut​​ton "のような他のコントロールに変更できれば、適切に機能すると思います。

私はあなたに投票できるといいのですが、アミール(残念ながら私の担当者は低すぎます。)私はこの問題を抱えていただけで、これを変更するとグリッドビューで大胆にうまくいきました。少し余談ですが、有効なコードは次のとおりだと思います:ButtonType = "Link"

これは、「編集」をクリックすると、編集内容が「更新」と「キャンセル」に変わり、送信時に「編集」に戻るためと考えられます。そして、これらのシフト制御は.netを不安にします。


この問題の核心はasp.netイベント検証モデルであり、ポストバックを実行した時点でクライアントが「ページ」を変更したかどうかです。「.....そしてこれらのシフト制御は.netを不安にさせる」とはどういう意味ですか?
ジュリアスA

7

(1)EnableEventValidation = "false" ...................私には機能しません。

(2)ClientScript.RegisterForEventValidation ....動作しません。

解決策1:

GridViewでButton / ImageButtonをLinkBut​​tonに変更します。できます。(しかし、私はImageButtonが好きです)

リサーチ:Button / ImageButtonおよびLinkBut​​tonはポストバックに異なる方法を使用します

原著:

http://geekswithblogs.net/mahesh/archive/2006/06/27/83264.aspx

解決策2:

OnInit()で、次のようなコードを入力して、Button / ImageButtonに一意のIDを設定します。

protected override void OnInit(EventArgs e) {
  foreach (GridViewRow grdRw in gvEvent.Rows) {

  Button deleteButton = (Button)grdRw.Cells[2].Controls[1];

  deleteButton.ID = "btnDelete_" + grdRw.RowIndex.ToString();           
  }
}

原著:

http://www.c-sharpcorner.com/Forums/Thread/35301/


6

ネストされたグリッドビューを実装し、同じ問題に直面しました。次のように、イメージボタンの代わりにLinkBut​​tonを使用しました。

私がこのようなコラムを持っている前に:

<asp:TemplateField ItemStyle-Width="9">
  <ItemTemplate>
 <asp:ImageButton ID="ImgBtn" ImageUrl="Include/images/gridplus.gif" CommandName="Expand"
                        runat="server" />
  </ItemTemplate>
</asp:TemplateField>

このように交換しました。

<asp:TemplateField>
<ItemTemplate>
     <asp:LinkButton  CommandName="Expand" ID="lnkBtn"  runat="server" ><asp:Image  ID="Img"  runat="server" ImageUrl="~/Images/app/plus.gif" /></asp:LinkButton>
      </ItemTemplate>
</asp:TemplateField> 

5

同様の問題がありましたが、ASP.Net 1.1を使用しておらず、JavaScriptでコントロールを更新していませんでした。私の問題はFirefoxでのみ発生し、IE(!)では発生しませんでした。

次のように、PreRenderイベントのDropDownListにオプションを追加しました。

DropDownList DD = (DropDownList)F.FindControl("DDlista");
HiddenField HF = (HiddenField)F.FindControl("HFlista");
string[] opcoes = HF.value.Split('\n');
foreach (string opcao in opcoes) DD.Items.Add(opcao);

私の "HF"(hiddenfield)には、次のように改行で区切られたオプションがあります。

HF.value = "option 1\n\roption 2\n\roption 3";

問題は、ドロップダウンを表す「選択」のオプションでHTMLページが壊れていた(つまり改行があった)ことでした。

だから私は私の行を追加して私の問題を解決しました:

DropDownList DD = (DropDownList)F.FindControl("DDlista");
HiddenField HF = (HiddenField)F.FindControl("HFlista");
string dados = HF.Value.Replace("\r", "");
string[] opcoes = dados.Split('\n');
foreach (string opcao in opcoes) DD.Items.Add(opcao);

これが誰かを助けることを願っています。


4

あなたの問題に変更UseSubmitBehavior="True" した場合UseSubmitBehavior="False"、解決され ます

<asp:Button ID="BtnDis" runat="server" CommandName="BtnDis" CommandArgument='<%#Eval("Id")%>' Text="Discription" CausesValidation="True" UseSubmitBehavior="False" />

それは私にはうまくいきませんでした。私はimagebuttonを使用していますが、リピーターのテーブルでも使用しているため、まったく同じ状況ではありません。リピーターのビューステートを無効にするとうまくいきました。
ブライアン

3

私は同じ問題を抱えていました、私がしたこと:

条件if(!IsPostBack)を追加しただけでうまくいきます:)


3

このエラーはポストバックなしで表示されます

コードを追加:

If(!IsPostBack){

 //do something

}

2

この場合、グリッドのRowDataBoundのボタンにidを追加します。それはあなたの問題を解決します。


2

この問題の簡単な解決策は、ページの読み込み時にIsPostBackチェックを使用することです。これでこの問題は解決します。


2

Ajax UpdatePanelがそれを実現します。Ajaxポストバックのオーバーヘッドを無視して、これが最も簡単な方法だと思います。


2

私はこれが超古い記事であることを知っています。あなたがあなたのアプリケーションを呼び出していると仮定すると、ここに私のために働いたアイデアがあります:

  1. ページにICallbackEventHandlerを実装する
  2. ClientScriptManager.GetCallbackEventReferenceを呼び出して、サーバー側のコードを呼び出します
  3. エラーメッセージに示されているように、ClientScriptManager.RegisterForEventValidationを呼び出すことができます。

完全に制御する必要がない場合は、これを行う更新パネルを使用できます。


2

通常のASPXページをコンテンツページに変換するときに、この同じ問題が発生しました。

この問題のあるページの</form>いずれかのコンテンツセクション内にタグがあったため、実行時に2つのフォーム終了タグがレンダリングされ、この問題が発生しました。ページから余分なフォームの終了タグを削除すると、この問題は解決しました。


おかげ<form>で、コードにもフィールドが追加されたことがわかりました。
Eric Kigathi、2015年

2

!ispostback内のpageloadでgridviewをバインドせずにgridviewをバインドしていない場合、このエラーは、gridviewの行の編集および削除をクリックすると発生します。

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
        bindGridview();
        }

1

4分前に同じエラーが発生しました。それから私はあなたのように30分の間調査しました。すべてのフォーラムで、彼らは一般に「ページを追加するenableEvent .. = falseまたはtrue」と言っています。提案された解決策は、それが見つかるまで問題を解決しませんでした。問題は残念ながらASP.NETボタンです。2秒前に外しました。「imagebutton」に置き換えようとしましたが、受け入れられませんでした(同じエラーが発生したため)。

最後に、に置き換えましたLinkButton。動作しているようです!


1

データリストを使用していて、プッシュボタンで同じエラーが発生しました。IsPostBackを使用してコントロールをチェックして入力するだけで、問題は解決します!すごい!!!


1

私にとってうまくいったのは、次のコードをpage_loadからpage_prerenderに移動することです。

lstMain.DataBind();
Image img = (Image)lstMain.Items[0].FindControl("imgMain");

// Define the name and type of the client scripts on the page.
String csname1 = "PopupScript";
Type cstype = this.GetType();

// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;

// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname1))
{
    cs.RegisterStartupScript(cstype, csname1, "<script language=javascript> p=\"" + img.ClientID + "\"</script>");
}

1

実行する最良のオプションは、非表示フィールドを使用し、イベント検証を無効にせず、すべてのリストボックス、ドロップダウンリストを変更して、runatサーバー属性で選択することです


ASPコントロールから通常の<select id = "director" runat = "server">への変更はうまくいきました。コードビハインドを使用してその値にアクセスできました。例:文字列directorId = Request.Form [director.ID]
Baxter

1

Ajax更新パネルを使用している場合。<Triggers>タグを追加し、その中にボタンまたはコントロールをトリガーして、postBackを使用します<asp:PostBackTrigger .../>


1

データが入力される可能性のあるデータが事前にわかっている場合は、ClientScriptManagerを使用してこの問題を解決できます。以前のユーザー選択でJavaScriptを使用してドロップダウンボックスに動的に入力すると、この問題が発生しました。

(VBおよびC#で)renderメソッドをオーバーライドし、ドロップダウンリストddCarの潜在的な値を宣言するためのコードの例を次に示します。

VBの場合:

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

    Dim ClientScript As ClientScriptManager = Page.ClientScript

    ClientScript.RegisterForEventValidation("ddCar", "Mercedes")

    MyBase.Render(writer)
End Sub

または、C#のわずかなバリエーションは次のとおりです。

protected override void Render(HtmlTextWriter writer)
{
    Page.ClientScript.RegisterForEventValidation("ddCar", "Mercedes");
    base.Render(writer);
}

初心者の場合:これは、コードビハインドファイル(.vbまたは.cs)に含める必要があります。aspxファイルで使用する場合は、<script>タグでラップできます。


1

これが私がそれを得た理由でした:

ASP:ListBoxがありました。最初は隠されていました。クライアント側では、AJAXを介してオプションを設定します。ユーザーは1つのオプションを選択しました。次に、[送信]ボタンをクリックすると、サーバーにはオプションがあることを覚えていなかったため、サーバーはすべてListBoxについておかしくなります。

だから私がやったことは、フォームをサーバーに送信する前にすべてのリストオプションをクリアすることを確認することです。これにより、リストが空のクライアントに送信されて空に戻ったため、サーバーは文句を言わなくなりました。

並べ替え!!!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.