从Java脚本中调用服务器端事件在asp.net [英] Calling server side event in asp.net from java script

查看:160
本文介绍了从Java脚本中调用服务器端事件在asp.net的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当然,将被标记为重复的人,但吨问题,例如后,我没能解决我的问题。
结果的我想要什么?结果
从客户端的Java脚本调用asp.net服务器端事件处理程序,它是不会在服务器端。我通过设置断点检查了它,网页笔触,但服务器端方法没有被调用。
结果我的click事件上code的背后,是

Surely will be marked as duplicate one but after tons of question and example i couldn't solve my problem.
What i want?
Calling server side event handler in asp.net from client side java script it is not going on server side. I checked it by setting breakpoint, the page flicks but server side method is not called.
My click event on code behind is

  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方法是

Javascript method is

   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按钮')的触发器(点击); ,但没有成功。

我究竟做错了什么?

编辑:如果我使用的OnClick 事件则在服务器端事件将不论 if条件的doPost 方法。

If i uses OnClick event then it is going in the server side event irrespective of the if condition in the DoPost method.

推荐答案

啊这很简单。感谢所有的答案。结果
解决方案:结果
使用的OnClick 属性服务器端事件和的OnClientClick 为验证客户端事件。
的OnClientClick JavaScript方法将返回真正这将决定是否服务器端onclick事件将触发与否。结果
code不会停像这样

Ahh it was simple. Thanks to all answers.
Solution:
Use OnClick attribute for server side event and OnClientclick for client event for validation. OnClientClick javascript method will return true and false which decides whether serverside onclick event will fire or not.
Code will be somthing like this

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

和按钮标签

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

这篇关于从Java脚本中调用服务器端事件在asp.net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆