1

ページで asp:repeater を使用していますが、OnItemCommand があります。しかし、IE7(互換モード)でリピーターのボタンをクリックすると、機能せず、次のエラーが表示されます:

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

これはコードです:

<asp:Repeater ID="rptExternalLinks" runat="server" OnItemCommand="rptExternalLinks_ItemCommand1">
   <ItemTemplate>
      <asp:Button ID="lbtnDelet" CssClass="simaUI-icon simaUI-icon-closethick" runat="server" CommandName="DeleteItem" />
   </ItemTemplate>
</asp:Repeater>

IE9 、 FF 、Chrome などの他のブラウザーで動作しますが、IE 互換モードでそのエラーが表示されます。

4

1 に答える 1

1

それは本当に奇妙な行動です。残念ながら、指定された構文でエラーを再現できませんでした。

すべてのポストバックでリピーターを再バインドし続けると、間違いなくエラーが発生するため、ページがポストバックされていない場合にのみバインドするようにする必要があります。

if (!Page.IsPostBack)
{
    //your code
}

また、コンテンツキャッシング(クライアント側)にメタタグを使用していますか?ブラウザのキャッシュもクリアします。

より具体的な詳細がありましたら、お知らせください。

それが役に立てば幸い。

于 2012-03-14T09:45:07.963 に答える