Команда asp: Repeater Item не запускается в IE7 (режим совместимости) - PullRequest
1 голос
/ 14 марта 2012

Я использую 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 сообщается.

1 Ответ

1 голос
/ 14 марта 2012

Это действительно странное поведение. К сожалению, я не смог воспроизвести ошибку в данном синтаксисе.

Вы обязательно получите ошибку, если будете повторять привязку повторителя при каждой обратной передаче, поэтому вы должны убедиться, что привязка выполняется только в том случае, если страница не отправляет ответ.

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

Кроме того, используете ли вы какие-либо метатеги для кэширования контента (на стороне клиента)? Я бы тоже очистил кеш вашего браузера.

Если у вас есть более конкретные данные, пожалуйста, дайте мне знать.

Надеюсь, это поможет.

...