ASP.NET - Как я могу изменить положение фонового изображения при нажатии кнопки? - PullRequest
2 голосов
/ 24 августа 2010

У меня есть стандартная кнопка asp, и при нажатии она вызывает:

protected void btnDealItem_Click(object sender, EventArgs e)
{
    divMyDiv.Style.Add("background-position", "70px 0");
}

Проблема в том, что при нажатии кнопки фон не сдвигается вправо на 70 пикселей.

Это правильный путь или вопрос синтаксиса?

Ответы [ 2 ]

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

Вы можете сделать это на стороне клиента с помощью JQuery: http://jquery.com/

Я предполагаю, что из вашего кода вы не хотите ничего делать с событием нажатия кнопки.Строка return false; не позволяет кнопке отправить страницу назад.

 $(document).ready(function () {
     $("#" + <%= btnDealItem.ClientID %>).click(function() {
          $(this).attr("style", "background-position:70px 0;" );
          return false;
     });
 });

или

<style>
     .backgroundshift {
        background-position: 70px 0;
     }
</style>


 $(document).ready(function () {
     $("#" + <%= btnDealItem.ClientID %>).click(function() {
          $(this).addClass("backgroundshift");
          return false;
     });
 });
0 голосов
/ 24 августа 2010

Проблема в том, что стиль определяется на стороне сервера ПОСЛЕ нажатия кнопки.Упрощенный сценарий выглядит так:

  1. Сервер отображает страницу в первый раз.
  2. Пользователь нажимает кнопку.
  3. Сервер вызывает событие button_click.
  4. Сервер отображает страницу.
  5. Пользователь может видеть кнопку с измененным положением фонового изображения.

Если вы хотите добиться изменения сразу после нажатия кнопки, используйте сценарии на стороне клиента с помощью сценария Java.

...