Кнопка ASP.NET options.clientSubmit имеет значение false - PullRequest
5 голосов
/ 21 сентября 2011

У меня есть кнопка ASP.NET, которая иногда не отправляет обратно. Я проверил это в IE разработчике и обнаружил, что когда кнопка не работает, options.clientSubmit имеет значение false в функции WebForm_DoPostBackWithOptions()

Код моей кнопки

<asp:Button 
           runat="server" 
           ID="btnSubmit" 
           CssClass="button" 
           OnClick="btnSubmit_Click"  
           meta:resourcekey="btnSubmitResource1" />

Внутри WebForm_DoPostBackWithOptions(options)

    if (options.clientSubmit) {
    __doPostBack(options.eventTarget, options.eventArgument);
    }

Может кто-нибудь сказать мне, почему кнопка иногда работает, а иногда нет? что я должен сделать, чтобы это работало всегда?

Ответы [ 4 ]

3 голосов
/ 08 ноября 2012

Это может быть возможность:

Проверьте, есть ли у вас какие-либо Validators на странице, которые не были сгруппированы по каким-либо ValidationGroup и могут быть видимы как ложные (возможно, контейнер виден как ложные). Этот валидатор может проверять элемент управления, который не имеет отношения к данному обстоятельству, и вызывать отмену обратной передачи, говоря, что она недействительна.

Если вы найдете какой-либо элемент, чтобы сгруппировать все связанные элементы управления, присвойте ValidationGroup всем соответствующим Validators, а затем назначьте эту группу вашему элементу управления отправкой (в зависимости от того, что вызывает обратную передачу). Это самая распространенная ошибка, которую я видел ..

2 голосов
/ 05 октября 2011

Попробуйте добавить CausesValidation = "False" и посмотрите, что произойдет.Я подозреваю, что у вас есть какая-то проверка, которая не проходит.

1 голос
/ 26 октября 2011

Вы не используете что-либо, чтобы предотвратить повторную отправку формы?

У меня была точно такая же проблема, метод проверки .Net показал, что форма действительна, но options.clientSubmit всегда был ложным:S

Виновником оказалось:

<script type="text/javascript">
    $(document).ready(function() {
        $('.prevDblSubmit').preventDoubleSubmit();
    })
</script>
0 голосов
/ 05 октября 2011

Кажется, что должно работать, вместо использования meta: resourcekey = "btnSubmitResource1", попробуйте явную локализацию.См. Вопрос: ASP.NET: явная или неявная локализация?

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