jquery按钮触发服务器端onclick事件

时间:2012-05-11 18:50:40

标签: javascript jquery asp.net

我正在使用jquery对话框,当用户单击ok时,应该触发服务器端onclick事件,如果单击取消,则不会发生任何事情。

我必须通过preventDefault()函数在开头阻止点击功能。

  $(document).ready(function () {
         $("#<%=submit.ClientID %>").click(function (event) {
             event.preventDefault();
                $("#confirm").dialog({
                    buttons: {
                        "OK": function () {  $(this).dialog("close"); 
                              Here should be the code to trigger the server side click event


                     },
                        "Cancel": function () { $(this).dialog("close");},
                    } 
                });
         });
     });

我不知道如何触发服务器端onclick事件。有任何想法吗?感谢

4 个答案:

答案 0 :(得分:0)

event.preventDefault()放入取消部分或某种条件中,以便每次点击都不会运行。

答案 1 :(得分:0)

我认为您在服务器端和客户端之间感到困惑。 如果你想在服务器端触发事件,你需要通知他(可以通过ajax调用完成)。 click事件是一个客户端事件,它不会在服务器端执行任何操作。 尝试在“确定”功能下放置一些代码,通过ajax调用通知服务器您想要的任何内容。

无论如何,你应该将event.preventDefault()电话移动到“取消”功能。

编辑:另一种接近它的方法是阻止提交发生,如果你不想要它。在您的表单标记处添加onsubmit="foo()" 并定义:

function foo(){
   //call your dialog and return true to continue the submit and false to cancel.
}

答案 2 :(得分:0)

它看起来有点依赖于实现细节(即使它们如此广泛使用以至于它们不会被更改)但代码是这样的:

__doPostBack('submit','OnClick');

这将为名为OnClick的控件执行submit事件处理程序。作为参考,请参阅这个关于how postbacks works in ASP.NET的小教程。

答案 3 :(得分:0)

https://stackoverflow.com/a/10583339/1202242

我使用了两个按钮,其中一个是隐藏的。 它完美地解决了我的问题