6

asp.netのユーザーコントロールで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; 
}
4

4 に答える 4

5

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

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

これこれ、および他の多くを参照してください

于 2013-02-26T11:57:08.737 に答える
3

私はこの問題を解決するためにジェネリックハンドラーを使用しています。

于 2013-02-26T13:20:06.210 に答える
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; 
}
于 2013-02-26T11:45:53.593 に答える
1

この属性が欠けている可能性があると思います

   [System.Web.Script.Services.ScriptService]

クラスをサービスする前に

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

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

または、Web サービスのパスが正しくないという別の理由が考えられます。

于 2013-02-26T11:56:14.777 に答える