0

こんにちは、asp.net で初めて JSON を使用します。

私のaspxコード:

        <script type="text/javascript">
    $('#imgbtnGo').click(function () {
          alert("Hi");
    var valService = $("#ddlService").val();
          alert("valService"+ valService);
    $.ajax({
        type: "GET",
        url: "/VoyageOneService.svc/BindVoyageDetails?valService =" + valService,
        contentType: "application/json; charset=utf-8", 
        dataType: "Json",
        processdata: true,
        success: function (msg) {
            ServiceSucceeded(msg);
        },
        error: ServiceFailed
    });

   });
   function ServiceSucceeded(result) {
                alert(result);
  }
</script>

         <asp:DropDownList ID="ddlService" runat="server" Width="100px" TabIndex="1"></asp:DropDownList>
        <asp:ImageButton ID="imgbtnGo" runat="server" ImageUrl="~/image_repository/go_icon.png"  />

     <asp:ScriptManagerProxy ID="ScriptProxyVoy" runat="server">
       <Services>
        <asp:ServiceReference Path="~/VoyageOneService.svc" />
    </Services>
</asp:ScriptManagerProxy>

..

私のサービスは:

             public string BindVoyageDetails(int serviceid)
{
                     /// Coding here..
                   Serialization
           MemoryStream stream = new MemoryStream();
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(VoyageMaster));
    serializer.WriteObject(stream, objVoyMstr);
    stream.Position = 0;
    StreamReader streamReader = new StreamReader(stream);
    return streamReader.ReadToEnd(); 

}

サービスが完璧であることを願っていますが、ボタンをクリックしてもそのサービスが開始されません....

原因がわかりません 誰か助けてください

4

3 に答える 3

1

このようなボタンIDを使用しています

$('#imgbtnGo').click(function () 

buttimgbtnGoは、ページのレンダリング後のボタンの実際の ID ではないため、それを取得するか、ボタンClinetIDに設定する必要がありClientIDMode="Static"ます。

<asp:ImageButton ID="imgbtnGo" runat="server" ImageUrl="~/image_repository/go_icon.png" ClientIDMode="Static"  />
于 2013-03-21T07:33:57.123 に答える
0

Sachin によって提供された JavaScript の提案された変更とは別に、Web メソッドに次の属性を追加する必要があります (JSON で応答を発行するようにするため)。

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] 

出典: ASP.NET JSON Web サービスの応答形式

于 2013-03-21T07:36:13.037 に答える
0

また、バインディングを使用する必要があります。binding="webHttpBinding"以下のリンクを 参照してください http://www.codeproject.com/Articles/132809/Calling-WCF-Services-using-jQuery

于 2013-03-21T08:07:14.427 に答える