2016-11-26 10 views
0

ajax呼び出しでWebフォームの内容をWebメソッドに送信し、WebメソッドがWebサービスを呼び出してフォームの内容をデータベースに挿入します。 MVCは使用しませんが、カスタムC#コードを使用します。AjaxコールからC#Webメソッドへのデータの受け渡し

当社Javascriptをfolllowsのとおりです。次のように

 var data = { 
      HT: $("input[name='HT']").val(), 
      KT: $("input[name='KT']").val(), 
      T: $("input[name='T']").val() 
     }; 
     $.ajax({ 
      type: "POST", 
      url: "LTCreate.aspx/Create", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      data: JSON.stringify(data), 
      async: true, 
      success: function(msg) { 
       alert(msg.d); 
      } 
     }); 

当社のC#のコードは次のとおりです。

 [WebMethod(EnableSession = true)] 
     public static string Create(string strJson) 
     {    


       HT = JsonConvert.DeserializeObject<pb.CLS_HT>(strJson); 

     ret = ws.INSERT_HT(SYSTEM_CODE, USER_INFO, HT, ref errMsg); 
     if (ret < 0) 
     { 
      return ret.ToString() + " " + errMsg; 
     } 
     else 
     { 
      return ret.ToString(); 
     } 
     } 

私は上記のコードを実行すると、我々は次のようなエラーメッセージが出ます:

メッセージ:「無効なWebサービス呼び出し、パラメータの値がありません: 'strJson'。」、...スタックトレース: System.Web.Script.Services.WebServiceMethodData.CallMethod我々は適切に内容を得ることができますどのようにSystem.Web.Script.Services.RestHandler.InvokeMethod

で(オブジェクト ターゲット、IDictionary`2パラメータ)↵ C#のWebメソッドのデータ文字列ですか?

ありがとうございます。このような

答えて

0

利用のScriptManagerと有効PageMethods:JavaScriptから

[System.Web.Services.WebMethod(EnableSession = true)] 
    public static string Edit_Program(string ProgramID) 
    { 
     //Some Codes 
     return "OK"; 

    } 

コール機能:

このような
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server"></asp:ScriptManager> 

書き込み機能

function Edit_Program(data) { 
    PageMethods.Edit_Program(data, OnSuccessEditCallback, OnFailureCallback); 
    } 

    function OnSuccessCallback(res) { 
     //Some Codes 
    } 

    function OnSuccessEditCallback(res) { 
     //Some Codes 
    } 
関連する問題