[System.Web.Services.WebMethod]
        public static string GetNote()
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            Note n = new Note();
            n.Content = txtNoteContent.Text;              //想从后台取到textbox中的值不过不能在静态类中写txtNoteContent.Text会报错误 如果不用静态类
             则Jquery又调不了方法请哪位高人指点下            n.Title = txtTitle.Text;
            string str = js.Serialize(n);
            return str;        }       前台方法
             $.ajax({
                 type:'POST',
                 url:"myNote.aspx/GetNote",
                 dataType:"json",
                 contentType: "application/json; charset=utf-8",
                 success: function (r) {
                   alert(r);
                  },
                error: function (msg) { alert("e") }
                 
                })

解决方案 »

  1.   

     dataType:"json",
    这里其实返回text类型的估计更好
      

  2.   

    txtTitle.Text;
    关键这个不能写在static方法中
      

  3.   

    myNote.aspx
    在这个PageLoad里调用一个非静态方法不就可以了么,
    把txtNoteContent.Text这个值作为ajax的参数
    为何一定要用静态的方法?
      

  4.   

    比如:你前台  var params = '{str:"'+$("#控件ID").val()+'"}';传的参数叫str...后台方法得
      [System.Web.Services.WebMethod]
      public static string GetNote(string str)
      

  5.   

    没这样用过
    我都是$.post(url,{data:str},function(t){
    ....
    });
    后台用Request.Form["data"]接收
    如果是get方法就用Request.QueryString["data"]接收
      

  6.   

    下面这两句
    n.Content = txtNoteContent.Text;  
    n.Title = txtTitle.Text;
    别这么写,用方法的参数,从客户端传过来。
      

  7.   

    AJAX前台调用后台方法
    首先加上[AjaxPro.AjaxNamespace("TextVerify")]这个标记,然后在窗体的加载事件里面加上AjaxPro.Utility.RegisterTypeForAjax(typeof(页面名字));
    你的方法:
    [AjaxPro.AjaxMethod]
            public string GetNote()
            {
                JavaScriptSerializer js = new JavaScriptSerializer();
                 Note n = new Note();
                 n.Content = txtNoteContent.Text;  
                n.Title = txtTitle.Text;
                string str = js.Serialize(n);
               return str;        }前台调用:
     function getque() {
            var getobject = TextVerify.GetNote(callback); //返回新信息的数量
        }
    function callback(note) //回调函数 
        {
            if (note.value > 0) 
            {
                  //操作
            }
        }
    你这样试看看啊
      

  8.   

    要JSON呢给字符串估计是问题所在吧.
    能个JSON给他就好了.
    response.write(string.Formate("{success:{0},msg:{1},data:{2}}",result,msg,dt));
      

  9.   

    alert(r.d);把返回值r后面加个d再试试看。至于为什么要加d,请看这篇文章:
    详细讲解了用jQuery调用asp.net web method时需要注意的问题
    http://encosia.com/2009/02/10/a-breaking-change-between-versions-of-aspnet-ajax/