单击对话框jquery的按钮时执行函数后面的代码

时间:2013-09-02 12:18:25

标签: c# asp.net jquery-dialog

我有一个按钮,打开一个dilag Jquery并显示一些div。对话框显示2个按钮(“确定”和“取消”)。

当我点击“确定”对话框时,我想执行函数后面的代码(C#.net)。

我该怎么做?

$("#dialog").dialog({
    autoOpen: false,
    modal: true,
    title: "Image Full Size",
    draggable: true,
    resizable: false,
    show: 100,
    width: 900,
    height: 680,
    buttons:
        {
            "Ok": function () {
                $(this).dialog("close");
            },
            "Cancel": function () {
                $(this).dialog("close");
            }
        }
    });

例如:

在C#.net

中调用下面的函数
public void loadInfo()
{
    // Do something
}

2 个答案:

答案 0 :(得分:2)

获得此功能的一种非常快速和简单的方法是使用事件OnValueChange的隐藏字段。

<asp:HiddenField ID="hf" clientidmode="static" runat="server" OnValueChanged="hf_ValueChanged" />

然后在你的剧本中:

"Ok": function () {
      $(this).dialog("close");
      $("#hf").value("1");
},
"Cancel": function () {
      $(this).dialog("close");
}

答案 1 :(得分:1)

    one way that we needed to add our method as a webmethod, if we want to call   a method from code behind at client side   Write your loadInfo() Method server side    in   the  CS file and calling it from client side using JQuery. 

见下面的代码

  $("#dialog").dialog({
       autoOpen: false,
       modal: true,
       title: "Image Full Size",
       draggable: true,
       resizable: false,
       show: 100,
       width: 900,
       height: 680,
       buttons:
      {
           "Ok": function () {
             $.ajax({ type: "GET",
             contenttype: "application/json; charset=utf-8",
            data: "{null}",
           url: "WebService1.asmx/loadInfo",
           dataType:"json",
            success: function(res) {
           // Do something means binding data
     },
     error: function(err) {
     alert(err);
 }
   });   
         $(this).dialog("close");
        },
        "Cancel": function () {
            $(this).dialog("close");
        }
      }
 });