techno
techno

Reputation: 6500

Unable to execute Ajax call to c# method

Im trying to call a c# method on select changed event of a dropdown list,The select change event triggers but the ajax does not work

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

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

Upvotes: 0

Views: 681

Answers (3)

sangram parmar
sangram parmar

Reputation: 8726

try this

check this line

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

now,

$.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');
                      }
                  });

Upvotes: 1

Piotr Stapp
Piotr Stapp

Reputation: 19830

Probabky you missing attributes:

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

Look here for more informations: Using jQuery to directly call ASP.NET AJAX page methods

Upvotes: 0

Menotaurus
Menotaurus

Reputation: 615

You have to decorate getdata method with [WebMethod] attribute. In your c# code [WebMethod] is missing.

Upvotes: 2

Related Questions