簡體   English   中英

從Javascript(JQuery)調用C#函數(WebMethod)

[英]Call C# function (WebMethod) from Javascript (JQuery)

我有這樣的功能

    [WebMethod]
    public static string Hello()
    {
        return "hello";
    }

我想在我的aspx頁面中調用它。 所以這就是我正在嘗試的

    function sendData(){
        $.post("Default.aspx/Hello", function(data){
            alert(data);
        }).fail(function() {
            alert( "error" );
        });
    }

現在校准成功,不會返回錯誤,但是不會返回我想要的。 而不是返回字符串“ hello”,而是給了我該頁面的html字符串

您需要使用data.d

function sendData(){
        $.post("Default.aspx/Hello", function(data){
            alert(data.d);
        }).fail(function() {
            alert( "error" );
        });
    }

Dave Ward文章為何需要使用.d

您還需要確保已添加腳本管理器和EnablePageMethods,即

<asp:ScriptManager runat="server" EnablePageMethods="true">
</asp:ScriptManager>

我認為您應該在js方法中使用$ .ajax而不是$ .post,因為如果沒有另外指定,則GET http方法是控制器中默認使用的方法。

我覺得你很親密。 在我的項目中,我正在使用$ .ajax。 我已經提供了項目中的代碼示例(效果很好),希望對您有所幫助。

C#

    [WebMethod]
    public static List<ConnectionStatusInfo> GetConnectionStatus()
    {
       .....
    }

JavaScript的

$.ajax({    url: "ConnectionStatus.aspx/GetConnectionStatus",
            dataType: "json",
            type: 'POST',
            data: null,
            contentType: "application/json; charset=utf-8",
            success: function (data) {

            },
            error: function (d) {

            }
        });

暫無
暫無

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

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