2009-10-07 91 views
0

这是对的Default.aspx的源端AJAX我邮编:我怎样才能发布同一页面使用Ajax JSON

$.ajax({ 
      type: "POST", 
      url: "Default.aspx/f_Bul, 
      data: "{_sSKodu:'4'}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(msg) { 

       $("#" + div).html(msg.d); 
       $("#" + div).show(); 
      } 
     } 
     ) 

,这是我的职责是在Default.aspx.cs

protected void f_Bul(string _sSKodu) 
    { 
     Select s = new Select(_sSKodu); 
    } 

我想将参数发送到f_Bul。但我不能发布这些数据。

我的错误在哪里?

回答

1

您需要用[WebMethod]属性修饰您的方法,并且它必须是静态的。它可能必须公开并返回一个字符串,但不是100%。

[WebMethod] 
public static string f_Bul(string _sSKodu) 
{ 
     Select s = new Select(_sSKodu); 
} 
0

我不能让它使用的.aspx工作,所以我去的.asmx这该是多么我终于得到了它的逾时工作:

[System.Web.Script.Services.ScriptService] 
    public class getData : System.Web.Services.WebService 
    { 
     [WebMethod] 
     [ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)] 
     public string finalize(String Number) 
     { 
      return "{'result':'success'}"; 
     } 
    } 

我也不得不把脚本经理对我的.aspx页面,但终于奏效了。

+0

它在aspx中可能不适合你,因为被称为*的web方法必须是静态的。 – Matt 2009-10-07 19:40:31

+0

我想我试过了,花了一段时间之后,我只是将它移出.aspx文件并让它工作,所以它可以返回一个json并以json的形式接收所有内容。 – 2009-10-07 19:45:18