ASP.NET - 如何在单击按钮时更改背景图像的位置?

时间:2010-08-24 09:21:44

标签: asp.net css background-position

我有一个标准的asp按钮,点击它会触发:

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

问题是,当点击按钮时,背景不会向右移70像素。

这是解决这个问题的正确方法还是语法问题?

2 个答案:

答案 0 :(得分:1)

您可以使用JQuery在客户端执行此操作:http://jquery.com/

我假设你的代码中你不想对按钮的click事件做任何其他事情。第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;
     });
 });

答案 1 :(得分:0)

问题是在单击按钮后在服务器端定义了样式。 简化的场景就是这样:

  1. 服务器首次呈现该页面。
  2. 用户点击按钮。
  3. 服务器调用button_click事件。
  4. 服务器呈现页面。
  5. 用户可以看到更改背景图像位置的按钮。
  6. 如果要在单击按钮后立即实现更改,请通过java脚本使用客户端脚本。