繁体   English   中英

如何运行JavaScript,然后做回发?

[英]how to run javascript and then do a postback?

我正在尝试添加一个“收藏夹”按钮。 当用户单击此按钮时,必须更改图像(使用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
        }

将函数声明从您拥有的更改为以下内容:

<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函数,但是由于回发,按钮上的更改将不会保留。 您必须通过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>

你可以这样 您可以从JavaScript调用服务器端点击事件。 您可以像这样“单击我的回发”那样调用此Java脚本。

<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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM