简体   繁体   中英

jquery postback using c# and asp.net returns null

I am attempting to use jquery to call ac# function when a button is clicked. What happens is the return variable (msg) is null.

The button code:

    <button id="test1" runat="server">Get Text</button>

The JQuery code:

    $(document).ready(function() {

        $("#test1").click(function() {
            $.ajax({
                type: "POST",
                url: "ServiceDirectoryAdd.aspx/GetCurrentDate",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    alert(msg);
                }
            });


        });

    });

The C# function:

    [WebMethod]
    public static string GetCurrentDate()
    {

        return "foo";
    } 

As I said, the return variable, msg, returns null. Is there something I'm doing wrong?

EDIT: After placing a breakpoint in the C# function, it seems that the program is not entering the function.

Have you tried a GET ?

$.get("ServiceDirectoryAdd.aspx/GetCurrentDate", function(data){
    alert(data || data.d);
});

And edit the webmethod to accept get

[WebMethod]
[ScriptMethod(UseHttpGet=true)]
public static string GetCurrentDate()
{

    return "foo";
} 

尝试索引味精

alert(msg[0]); or  alert(msg.d);

Did you added script manager to page. If you not added it. Please add it and then script manager "EnablePageMethod" property to true.

Here is the link for that. http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM