遇到jquery问题

时间:2011-04-23 02:34:23

标签: javascript jquery asp.net

我在运行以下脚本时遇到问题。我正在尝试使用jquery在按钮单击上调用服务器端方法。但它不起作用。我既没有成功,也没有失败警告检查脚本。请帮忙。

$(document).ready(function() {
var xml="";  // Scope limit covered but not working
  $('#<%=btnSave.ClientID %>').click(function(event) {
     xml = "<schedule>";
    $("#selectedcolumns").find("tr").each(function() {
      xml += "<data>";
      xml += $(this).find("td").eq(1).html() + "\n";
      xml += "</data>";
    });
    xml += "</schedule>";


   //PAgeMethod
    PageMethods.GetCustomer(
        xml,
        function(result) {
          alert('success:' + result);
        },
        function(result) {
          alert('error:' + result.get_message());
        });

    alert(xml);

  })
});

在CodeBehind中:

[WebMethod]


 private void GetCustomer(string NoOfRecords) //just need to reach here.


  {
   xmlfile(NoOfRecords);
  }

2 个答案:

答案 0 :(得分:1)

这是xml值的范围问题(您在回调范围内声明它 - 因此它不会在该函数旁边显示。

$(document).ready(function() {
  var xml = "";

  $('#<%=btnSave.ClientID %>').click(function(event) {
    xml = "<schedule>";
    $("#selectedcolumns").find("tr").each(function() {
      xml += "<data>";
      xml += $(this).find("td").eq(1).html() + "\n";
      xml += "</data>";
    });
    xml += "</schedule>";

 //This method is defined in the codebehind
  PageMethods.GetCustomer(
    xml,
    function(result) {
      alert('success:' + result);
    },
    function(result) {
      alert('error:' + result.get_message());
    });

    alert(xml);  
  });
});

答案 1 :(得分:0)

WebMethod需要声明为静态。 Here is a good guide涵盖了从jQuery调用服务器端方法。