2010-08-24 4 views
2

У меня есть стандартная кнопка жерех и нажмите это вызывает:ASP.NET - Как изменить положение фонового изображения при нажатии кнопки?

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

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

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

+0

Как вы поживаете с этим Люком? –

ответ

1

Вы можете сделать это на стороне клиента с 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

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

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

Если вы хотите добиться изменения сразу после нажатия кнопки, используйте скрипты на стороне клиента через java-скрипт.

Смежные вопросы