ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 从java脚本调用asp.net中的服务器端事件

2019-10-02 08:34:45  阅读:216  来源: 互联网

标签:javascript asp-net postback


肯定会被标记为重复的,但经过大量的问题和例子,我无法解决我的问题.
我想要的是?
从客户端java脚本调用asp.net中的服务器端事件处理程序它不在服务器端.我通过设置断点检查它,页面轻弹但没有调用服务器端方法.
关于代码背后的点击事件是

  protected void btninsert_Click(object sender, EventArgs e)
  {
      // my code
  }

aspx文件

   <asp:Button ID="btninsert" runat="server" ValidationGroup="form" CssClass="btn"
      OnClientClick="DoPost()" Text="Save" />

Javascript方法是

   function DoPost() {
        function DoPost() {
        var chk = document.getElementById('<%= chkstatus.ClientID %>');
        if (chk.checked)
            __doPostBack('<%= btninsert.ClientID %>', 'OnClick');
        return true;
        //return false;
    } 
    } 

我也尝试过这个
        __doPostBack(‘btninsert’,’OnClick’);和__doPostBack(‘btninsert’,”);和$(‘btnSubmit’).触发器(‘click’);没有成功.

我究竟做错了什么?

编辑:如果我使用OnClick事件,那么它将进入服务器端事件,而不管DoPost方法中的if条件.

解决方法:

啊,这很简单.感谢所有答案.
解:
对服务器端事件使用OnClick属性,对客户端事件使用OnClientclick进行验证.
OnClientClick javascript方法将返回true和false,它决定了serveride onclick事件是否会触发.
代码将是这样的

  <script type="text/javascript">
    function DoPost() {
        var chk = document.getElementById('<%= chkstatus.ClientID %>');
        if (chk.checked) {
            var c = confirm("are you sure?");
            if (c == true) {
                return true;
            } else
            { return false; }
        }
        return true;
    } 
</script>

和Button标签

<asp:Button ID="btninsert" runat="server" ValidationGroup="form" CssClass="btn"
   OnClientClick="return DoPost();" OnClick="btninsert_Click" Text="Save" />

标签:javascript,asp-net,postback
来源: https://codeday.me/bug/20191002/1842028.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有