Кнопка не вызывает обратную передачу - PullRequest
0 голосов
/ 22 мая 2011

У меня есть кнопка, с соответствующей aspx:

<asp:Button runat="server" ID="checkall" OnClientClick="setAllWeeks(true);" 
    AutoPostBack="true" Text="Check All" />

Это потому, что логика, которую я хочу использовать для этой конкретной кнопки на стороне сервера, заключается в проверке, которая происходит каждый развремя в событии Page_Load и, кроме того, я хочу, чтобы функция Javascript вызывалась первой.Однако, когда я нажимаю кнопку, она не вызывает постбэк в первый раз, только во второй раз, когда она публикуется.

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

Ответы [ 2 ]

1 голос
/ 22 мая 2011

Сделайте следующий код:

<asp:Button runat="server" ID="checkall" OnClientClick="return setAllWeeks(true);" 
    AutoPostBack="true" Text="Check All" />

А внутри функции setAllWeeks () выполните следующее:

function setAllWeeks(val) {

    //If everything all right
    If(True)
    {
      //Do something
      return true;   
    }
    else
      return false;
}

Если с поведением функции все в порядке, верните true, иначе верните false.

Примечание. Все пути функции должны возвращать значение (логическое значение).

0 голосов
/ 22 мая 2011

Это случилось со мной несколько раз.Причиной было то, что моя функция, указанная в OnClientClick, вернула «false».

Как выглядит «setAllWeeks»?Может быть, это возвращает ложь?

...