簡體   English   中英

在ASP.NET WebForms中使用AJAX在“代碼背后”調用函數?

[英]call function in 'code behind' with AJAX in ASP.NET WebForms?

當我在視圖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

如果我運行該頁面,並使用瀏覽器檢查該頁面以查看錯誤,則不會出現任何錯誤,但是代碼未達到我在代碼隱藏方法中放入的斷點。

我做錯了什么? 我會很感激建議,謝謝。

首先檢查您的服務器允許非HTTPS請求。 我遇到了這類問題,我的服務器不允許我這樣做。 因此,請禁用該功能並進行測試。

然后檢查響應狀態。

error: function(xhr, status) {
alert(xhr.status); }

讓我們知道那是結果。

-魯胡爾

轉到“ App_Start”文件夾下的“ RouteConfig.vb”。

更改以下行

 settings.AutoRedirectMode = RedirectMode.Permanent

settings.AutoRedirectMode = RedirectMode.Off

我認為您的方法代碼返回這樣的東西。

返回Default.aspx / MethodToCreateChart

所以我你的MethodToCreateChart邏輯。

您可以嘗試以下示例方法。 您的內部服務器錯誤即將到來,因為您要從方法中返回somethng。

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”屬性。

您使用與ashx文件相同的aspx文件。 因此,請看以下鏈接:1. 如何調試ASP.net HTTPHandler 2. 無法調試ASHX處理程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM