OnClientClick не работает - PullRequest
       11

OnClientClick не работает

2 голосов
/ 17 сентября 2009

У меня есть кнопка «Назад» и «Далее», в которой есть функция проверки OnClientClick.

Эта функция не вызывается, когда я нажимаю на нее, пожалуйста, помогите мне

Код дал ниже:

<asp:Button ID="btn_view1_back" runat="server" Text="Back" 
            CausesValidation="False" ValidationGroup="Form2" />

<asp:Button ID="btn_View1_Next" runat="server" CausesValidation="true" Text="Next" 
            ValidationGroup="Form2" OnClientClick="return ValidateDropDown();" 
            UseSubmitBehavior ="true" />

Ответы [ 6 ]

3 голосов
/ 17 сентября 2009

Просто чтобы быть уверенным: ValidateDropDown определил в JavaScript, верно? OnClientClick - это то, что выполняется на стороне клиента , то есть на JavaScript.

Другое дело, что синтаксис OnClientClick, возможно, должен отличаться, например: OnClientClick = "ValidateDropDown ()"

1 голос
/ 18 августа 2010

Ваш вопрос немного неясен, какая функция не срабатывает (JS OnClientClick или OnClick на стороне сервера), но если она на стороне сервера, убедитесь, что ValidateDropDown() возвращает true. Если он возвращает false или null или что-то еще, серверный метод не сработает.

Можете ли вы опубликовать свой код для ValidateDropDown? Вы убедились, что это стрельба?

0 голосов
/ 17 сентября 2009

У вас есть точка останова в вашей функции проверки, и она не получает удар? Или вы думаете, что это не получит популярность, потому что ваша страница отправляется обратно в любом случае?

Я ожидаю, что будет вызвана функция ValidateDropDown, но я не уверен. Тем не менее, я тоже не думаю, что это имеет значение. Я не думаю, что это имеет значение, потому что кажется, что вы пытаетесь предотвратить обратную передачу, и это не способ сделать это. Вы хотите предотвратить обратную передачу?

Если это так, то я думаю, что лучше всего здесь отказаться от OnClientClick кнопки и вместо этого добавить элемент управления CustomValidator для вашего раскрывающегося списка, а затем установить для ClientValidationFunction значение ValidateDropDown. Уже есть инфраструктура проверки на стороне клиента asp.net, так что я бы просто использовал ее.

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

0 голосов
/ 17 сентября 2009

Убедитесь, что проверка не запускается. Может случиться так, что проверка запускается, и вы не можете увидеть текст или сообщение об ошибке, поскольку по умолчанию оно пустое.

0 голосов
/ 17 сентября 2009

Ваш метод ValidateDropDown, вероятно, генерирует исключение, которое в любом случае вызывает обратную передачу.

Можете ли вы опубликовать содержимое этого метода?

В качестве альтернативы, используйте Firebug и отметьте Break on all script errors в меню отладки.

Кроме того, код OnClientClick запускается в браузере, и вызываемый им метод должен быть определен в Javascript, а не в VB.

0 голосов
/ 17 сентября 2009

Кнопка «Назад» настроена так, что не вызывает проверки, и для нее не определено действие OnClientClick.

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