C# asp.net中的JSON-按钮单击未触发?

C# asp.net中的JSON-按钮单击未触发?,c#,asp.net,json,C#,Asp.net,Json,您好,我是第一次在asp.net中使用JSON的 我的aspx代码: <script type="text/javascript"> $('#imgbtnGo').click(function () { alert("Hi"); var valService = $("#ddlService").val(); alert("valService"+ valService); $.ajax({

您好,我是第一次在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>
}

我希望我的服务很完美,但当我点击我的按钮时,我不会被解雇


我找不到原因,请任何人帮忙

您使用的按钮Id是这样的

$('#imgbtnGo').click(function () 
butt
imgbtnGo
不是呈现页面后按钮的实际ID,因此您可以获取它的
ClinetID
或 您需要为按钮设置
clientdmode=“Static”

<asp:ImageButton ID="imgbtnGo" runat="server" ImageUrl="~/image_repository/go_icon.png" ClientIDMode="Static"  />

除了Sachin建议的JavaScript更改之外 您需要向web方法添加以下属性(以便使其以JSON格式发出响应):


来源:

您还需要使用binding
binding=“webHttpBinding”
,通过下面的链接

我已将其更改为静态模式,但仍然无法获得结果。当我签入服务时,json返回值
$('#imgbtnGo').click(function () 
<asp:ImageButton ID="imgbtnGo" runat="server" ImageUrl="~/image_repository/go_icon.png" ClientIDMode="Static"  />
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]