OnClick не работает, когда я делаю OnClientClick="function(); return false"

У меня есть 5 кнопок asp:, на которые я хочу изменить класс CSS, когда я нажимаю на них, чтобы они были "помечены". Я делаю это с Javascript, и он отлично работает. Но я также хочу сохранить переменную в коде с помощью onClick.

Моя проблема в том, что когда я нажимаю кнопку asp: она обновляет страницу. Я решил это с помощью; вернуть false после моего OnClientClick. НО, когда я вернул false, кнопки OnClick не срабатывают. Так что мне нужна помощь, чтобы обе эти вещи работали одновременно:

  • Страница не обновляется при нажатии кнопки asp: одновременно
  • OnClick должен также стрелять.

HTML

<asp:Button ID="Button1" runat="server" Text="1" OnClick="button1_Click" OnClientClick="change_select(this); return false;" CssClass="button black"/>

Javascript

function change_select(objs) {

    $('.darkgray').removeClass('darkgray').addClass('black');
    objs.className = "button darkgray";

}

код позади

    int[] answerArray = new int[28];
    int answer = 0;
    int currentQ = 0;
 protected void button1_Click(object sender, EventArgs e)
    {         
            answer = 1;        
    }
protected void buttonNext_Click(object sender, EventArgs e)
    {
            answerArray[currentQ] = answer;
            currentQ++;  
    }

1 ответ

Вы не можете запретить обновление страницы, если у вас есть намерение сохранить значение в коде использования ASP.NET Webforms. Посмотрите этот связанный вопрос SO Как остановить перезагрузку страницы, когда нажимаете кнопку?

Другие вопросы по тегам