C# 调用';代码隐藏';在ASP.NET WebForms中使用AJAX?

C# 调用';代码隐藏';在ASP.NET WebForms中使用AJAX?,c#,asp.net,json,ajax,vb.net,C#,Asp.net,Json,Ajax,Vb.net,当我在我的视图aspx中单击一个范围时,我想访问代码隐藏中的一个方法: DEFAULT.ASPX查看代码: <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <%-- MY SPAN --%> <span runat="server" onclick="ShowChartSpider(this.id)" id="group_2" style="curso

当我在我的视图aspx中单击一个范围时,我想访问代码隐藏中的一个方法:

DEFAULT.ASPX查看代码:

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<%-- MY SPAN --%>
 <span runat="server" onclick="ShowChartSpider(this.id)" id="group_2" style="cursor: pointer" class="pull-right">My Span</span>


<%-- JAVASCRIPT CODE --%>
    <script type="text/javascript">
        function ShowChartSpider(group_id) {

            $.ajax({
                type: "POST",
                url: "Default.aspx/MethodToCreateChart",
                dataType: "json",
                data: "{'parameter1':" + JSON.stringify(group_id) + "}",
                contentType: "application/json; charset=utf-8",                

                success: function (data) {
                    alert("all correct");
                },
                error: function (data) {
                    alert("no");
                }
            }
            );
        }
    </script>
</asp:Content>

我的跨度
功能ShowChartSpider(组id){
$.ajax({
类型:“POST”,
url:“Default.aspx/MethodToCreateChart”,
数据类型:“json”,
数据:“{'parameter1':”+JSON.stringify(group_id)+“}”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
警惕(“一切正常”);
},
错误:函数(数据){
警告(“否”);
}
}
);
}
DEFAULT.ASPX.VB代码隐藏:

<WebMethod()>
    <ScriptMethod(ResponseFormat:=ResponseFormat.Json)>
    Public Shared Sub MethodToCreateChart(sender As Object, e As EventArgs)
        ' My code to create the chart .....
    End Sub

公共共享子方法创建图表(发件人作为对象,e作为事件参数)
'创建图表的我的代码。。。。。
端接头
如果我运行页面,并使用浏览器检查页面以查看错误,则不会出现任何错误,但代码没有到达我在codebehind中的方法中设置的断点

我做错了什么?
非常感谢您的建议,谢谢。

首先检查您的服务器是否允许非HTTPS请求。 我有这种问题,我的服务器不允许我这样做。 然后禁用它并进行测试

然后检查响应状态

error: function(xhr, status) {
alert(xhr.status); }
让我们知道这就是结果


--Ruhul

首先检查您的服务器是否允许非HTTPS请求。 我有这种问题,我的服务器不允许我这样做。 然后禁用它并进行测试

然后检查响应状态

error: function(xhr, status) {
alert(xhr.status); }
让我们知道这就是结果

--Ruhul

转到“应用程序启动”文件夹下的“RouteConfig.vb”

换行

 settings.AutoRedirectMode = RedirectMode.Permanent

我想你的方法代码会返回这样的结果

返回Default.aspx/MethodToCreateChart

请告诉我您创建图表逻辑的方法

您可以尝试以下示例方法。您的内部服务器错误即将出现,因为您正在从方法返回某些内容

Public Shared Function MethodToCreateChart(parameter1 As String) As String

   Return "Hello " & Environment.NewLine & "The Current Time is: " & _DateTime.Now.ToString()
End Function
转到“应用程序启动”文件夹下的“RouteConfig.vb”

换行

 settings.AutoRedirectMode = RedirectMode.Permanent

我想你的方法代码会返回这样的结果

返回Default.aspx/MethodToCreateChart

请告诉我您创建图表逻辑的方法

您可以尝试以下示例方法。您的内部服务器错误即将出现,因为您正在从方法返回某些内容

Public Shared Function MethodToCreateChart(parameter1 As String) As String

   Return "Hello " & Environment.NewLine & "The Current Time is: " & _DateTime.Now.ToString()
End Function

我认为您应该从span标记中删除'runat=server'属性。

我认为您应该从span标记中删除'runat=server'属性。

您使用的aspx文件与ashx文件相同。请查看以下链接: 1.
2.

您使用的aspx文件与ashx文件相同。请查看以下链接: 1.
2.

我收到了成功的警报,不是错误的警报,但我说的是,代码没有到达我在codebehind中的方法中设置的断点-(我得到了成功的警告,不是错误的警告,但我说的是,代码没有达到我在codebehind中的方法中设置的断点。:-(不起作用,但我尝试将其放在ajax方法中:url:“Default.aspx”,但只能加载页面,因此问题出在路径中,但我不知道如何修复它删除此行。我收到以下错误:加载资源失败:服务器响应状态为500(内部服务器错误)你检查了我的新代码吗?因为在我的项目中,你的代码正在工作,断点在codebehind部分的方法中命中。你能压缩你的项目,下载它吗?不工作,但我尝试将它放在ajax方法中:url:“Default.aspx”,但只能加载页面,因此问题出在路径中,但我不知道如何修复它删除此行。我收到以下错误:加载资源失败:服务器响应状态为500(内部服务器错误)你检查我的新代码吗?因为在我的项目中,你的代码正在工作,断点在codebehind部分的方法中命中。你能压缩你的项目,下载它吗?我从范围中删除runat服务器,但它不工作:-(我从范围中删除runat服务器,但它不工作:-(检查新更新的代码检查新更新的代码)