我希望在我的视图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>
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
如果我运行该页面,并使用浏览器检查页面以查看错误,则不会出现,但代码未到达我在代码隐藏中放入方法的断点。
我做错了什么? 我很感激建议,谢谢。
答案 0 :(得分:1)
首先检查您的服务器是否允许非HTTPS请求。 我有这种类型的问题,我的服务器不允许我这样做。 它然后禁用它并测试。
然后检查响应状态。
error: function(xhr, status) {
alert(xhr.status); }
让我们知道结果。
- Ruhul
答案 1 :(得分:1)
转到“App_Start”文件夹下的“RouteConfig.vb”。
更改以下行
settings.AutoRedirectMode = RedirectMode.Permanent
要
settings.AutoRedirectMode = RedirectMode.Off
我认为你的方法代码会返回类似的内容。
返回Default.aspx / MethodToCreateChart
所以我是你的MethodToCreateChart逻辑。
您可以尝试使用以下示例方法。你的内部服务器错误即将发生,因为你从方法中返回了一些东西。
Public Shared Function MethodToCreateChart(parameter1 As String) As String
Return "Hello " & Environment.NewLine & "The Current Time is: " & _DateTime.Now.ToString()
End Function
答案 2 :(得分:0)
我认为你应该删除&#39; runat = server&#39; span标记的属性。
答案 3 :(得分:0)
您使用与ashx文件相同的aspx文件。那么看看下面的链接: 1. How do you debug ASP.net HTTPHandler 2. Can't debug ASHX handler