如何运行javascript,然后进行回发

本文关键字:然后 javascript 何运行 运行 | 更新日期: 2023-09-27 18:20:53

我正在尝试创建一个添加到"收藏夹"按钮。当用户单击此按钮时,必须更改图像(在js中)。之后我想回发asp.net页面吗?我该怎么做?我得到的是:

aspx

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            function ChangeFavStar() {
                if ($("#btnAddToFavs").attr('src') == 'starempty.jpg') {
                    $("#btnAddToFavs").attr('src') = 'staradded.jpg';
                }
                else {
                    $("#btnAddToFavs").attr('src') = 'starempty.jpg';
                }
                return true;
            }
        });
    </script>
    <style type="text/css">
        #btnAddToFavs {
            height: 79px;
            width: 121px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ImageButton ID=btnAddToFavs runat=server 
            OnClientClick="ChangeFavStar();" ImageUrl="~/starempty.jpg"
             Height="74px" Width="109px"  />
    </div>
    </form>
</body>
</html>

cs落后于

 protected void btnAddToFavs_Click(object sender, ImageClickEventArgs e)
        {
            //do stuff
        }

如何运行javascript,然后进行回发

您可以调用JavaScript函数,但由于回发,按钮上的更改不会持久化。您必须通过C#代码更改ImageUrl属性。

 <script type="text/javascript">
      function ChangeFavStar() {
         if ($("#btnAddToFavs").attr('src') == 'starempty.jpg') {
              $("#btnAddToFavs").attr('src') = 'staradded.jpg';
          }
          else {
              $("#btnAddToFavs").attr('src') = 'starempty.jpg';
          }
      }
    </script>

标记:

<form id="form1" runat="server">
    <div>
    <asp:ImageButton ID="btnAddToFavs" runat=server 
            OnClientClick="ChangeFavStar();" ImageUrl="~/starempty.jpg"
             Height="74px" Width="109px"  />
    </div>
</form>

将函数声明从现有内容更改为以下内容:

<script type="text/javascript">
    function ChangeFavStar() {
            if ($("#btnAddToFavs").attr('src') == 'starempty.jpg') {
                $("#btnAddToFavs").attr('src') = 'staradded.jpg';
            }
            else {
                $("#btnAddToFavs").attr('src') = 'starempty.jpg';
            }
            return true;
        }
</script>

您可以用这种方式。您可以从JavaScript调用服务器端点击事件。您可以像这样调用这个java脚本CLick Me for Postback。

<script type="text/javascript">
      function ChangeFavStar() {
         if ($("#btnAddToFavs").attr('src') == 'starempty.jpg') {
              $("#btnAddToFavs").attr('src') = 'staradded.jpg';
          }
          else {
              $("#btnAddToFavs").attr('src') = 'starempty.jpg';
          }
__doPostBack('<%=btnAddToFavs.ClientID %>', '');
      }
    </script>
相关文章: