2013-02-26 9 views
5
私はasp.netユーザーコントロールとAJAXを使用したい

asp.netユーザーコントロールでjQuery ajaxを使用するには?

$.ajax({ 
     type: "POST", 
     url: "*TCSection.ascx/InsertTCSection", 
     data: "{id:'" + id + "'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      var URL = msg.d; 
      alert(URL); 
     }); 

は.csコード

[WebMethod] 
public static string InsertTCSection(string id) 
{ 
    string result = "deneme"; 
    return result; 
} 
+0

エラーが発生しましたか? –

+0

サーバー側の関数にブレークポイントを追加していますが、ヒットしません。 – altandogan

+0

実行時に.ascxなどのリソースがないため、保持されているページとマージされているので、 –

答えて

1

試してみてください。

$.ajax({ 
     type: "POST", 
     url: "*TCSection.ascx/InsertTCSection", 
     data: JSON2.stringify({ id: id}, //Your 2nd id is passing value but i dont know where its come from 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function (msg) { 
      var URL = msg.d; 
      alert(URL); 
      } 
     )}; 

とCSで

[WebMethod] 
public static string InsertTCSection(string id) 
{ 
    string result="deneme"; 
    return result; 
} 
+1

idパラメータは重要ではありません。私は.ascxでajaxについて学びたいと思います。これを行う方法は何ですか? – altandogan

1

私はあなたがm

[System.Web.Script.Services.ScriptService] 
public class TCSection: System.Web.Services.WebService 
{ 

    [WebMethod] 
    public static string InsertTCSection(string id) 
    { 
    } 
} 

またはWebサービスのパスが正しくないことを一つの他の理由があるかもしれないとして、あなたのサービスクラスの前に、この属性

[System.Web.Script.Services.ScriptService] 

をissing。

5

では、jqueryを介してusercontrol内に保持されているメソッドを呼び出すことはできません。 .ascxコントロールが実際のURLを表していないため。

これらは一部のASP.NETページに埋め込まれるため、実行時には存在しません。 あなたが行うことは、別のサービスを作成してそこにメソッドを配置することです。

webservices. のように、私はこの問題を解決するために、一般的なハンドラを使用しています thisthisおよび他の多く

関連する問題