Почему точка останова недоступна при использовании jQuery Droplistfilter - PullRequest
0 голосов
/ 28 октября 2009

Я использую этот фильтр раскрывающегося списка в форме Asp.Net.
Плагин jQuery DropListFilter

Фильтр в выпадающем списке отлично работает.

<script type="text/javascript">
 $(document).ready(function() {
  $('select').droplistFilter();
});
</script>
<asp:DropDownList ID="ddlMonth" runat="server" CssClass="ddlStyle"></asp:DropDownList>
<asp:RequiredFieldValidator ID="rfv_ddlMonth" runat="server" ControlToValidate="ddlMonth"
                    CssClass="warning" Display="Dynamic" ErrorMessage="*" ForeColor=""></asp:RequiredFieldValidator>

<asp:Button ID="btnRun" runat="server" CssClass="btnStyle" OnClick="btnRun_Click" Text="Run Report" />

CodeBehind

protected void btnRun_Click(object sender, EventArgs e)
{
    Response.Write(ddlMonth.SelectedValue.ToString());
    return;
}

Если я выполняю поиск в раскрывающемся списке с использованием фильтра jQuery и нажимаю кнопку «Запустить отчет», отладчик не останавливается на приведенном выше утверждении Response.Write.

При применении фильтра и нажатии Run отладчик даже не нажимает метод загрузки ниже.

protected void Page_Load(object sender, EventArgs e)
{
  // Bind Month if !PostBack
}

После дальнейшего изучения я получаю следующую ошибку Application_Error:

Недопустимый аргумент обратной передачи или обратного вызова. Проверка события включена с использованием в конфигурации или <% @ Page EnableEventValidation = "true"%> на странице. В целях безопасности эта функция проверяет, что аргументы для событий обратной передачи или обратного вызова исходят от серверного элемента управления, который первоначально их представил. Если данные действительны и ожидаемы, используйте метод ClientScriptManager.RegisterForEventValidation, чтобы зарегистрировать данные обратной передачи или обратного вызова для проверки.

Я не хочу отключать проверку события, так что я могу сделать, чтобы фильтр работал?

1 Ответ

0 голосов
/ 01 ноября 2009

DroplistFilter меняет то, что ожидает ASP.

ASP не нравится, когда что-то меняется без его явного письменного согласия.

ASP ожидает, что раскрывающийся список будет содержать то, что он поместил в раскрывающийся список, когда вы изменяете то, что в нем с помощью javascript, asp видит это как угрозу безопасности и выдает ошибку проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...