0

我试图在下拉列表的选择更改事件上调用 ac# 方法,选择更改事件触发但 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
        }
4

3 回答 3

2

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

于 2013-08-21T07:07:32.520 回答
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');
                      }
                  });
于 2013-08-21T07:19:07.087 回答
0

Probabky您缺少属性:

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

查看此处了解更多信息:使用 jQuery 直接调用 ASP.NET AJAX 页面方法

于 2013-08-21T07:09:11.220 回答