无法执行对c#方法的Ajax调用

时间:2013-08-21 07:01:17

标签: javascript asp.net ajax

我试图在下拉列表中选择已更改事件时调用c#方法,选择更改事件会触发,但ajax不起作用

     <script type="text/javascript">
          $(document).ready(function () {


              $('body').delegate('#drpselect1', 'change', function () {
                  var groupname = $("#drpselect1 option:selected").text();
                  alert(groupname);
                  $.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      url: "sample.aspx/getdata",
                      dataType: "json",
                      {"text":groupname},
                      success: function () {
                         alert("works");
                          // window.location.href = "ClubCreation.aspx";
                      },
                      Error: function () {
                          alert('error');
                      }
                  });
             /*     $.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      url: "sample.aspx/getdata",
                        data:{"text":groupname}
                                          dataType: "json",
                      success: function () {
                          alert('Successfully Saved');
                          //window.location.href = "ClubCreation.aspx";
                      },
                      Error: function () {
                      }


    });*/

          });


      });




</script>

c#方法

[WebMethod]
     public static void getdata(String text)
        {
            //do stuff
        }

3 个答案:

答案 0 :(得分:2)

您必须使用装饰getdata方法 [WebMethod]属性。 在您的c#代码[WebMethod]中缺失。

答案 1 :(得分:1)

试试这个

检查此行

                      data:'{"text":"'+groupname+'"}',//put "data:"

现在,

$.ajax({
                      type: "POST",
                      contentType: "application/json; charset=utf-8",
                      url: "sample.aspx/getdata",
                      dataType: "json",
                      data:'{"text":"'+groupname+'"}',//put "data:"
                      success: function () {
                         alert("works");
                          // window.location.href = "ClubCreation.aspx";
                      },
                      Error: function () {
                          alert('error');
                      }
                  });

答案 2 :(得分:0)

可能你缺少属性:

[System.Web.Services.WebMethod()] 
public static void getdata(String text)

在此处查看更多信息:Using jQuery to directly call ASP.NET AJAX page methods