使用c#和asp.net的jquery回发返回null

时间:2013-05-29 18:10:57

标签: c# jquery asp.net postback

我试图在单击按钮时使用jquery来调用c#函数。会发生什么是返回变量(msg)为空。

按钮代码:

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

JQuery代码:

    $(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);
                }
            });


        });

    });

C#功能:

    [WebMethod]
    public static string GetCurrentDate()
    {

        return "foo";
    } 

正如我所说,返回变量msg返回null。有什么我做错了吗?

编辑:在C#函数中放置断点后,程序似乎没有进入函数。

3 个答案:

答案 0 :(得分:0)

你试过GET吗?

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

并修改webmethod以接受get

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

    return "foo";
} 

答案 1 :(得分:0)

尝试索引msg

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

答案 2 :(得分:0)

您是否在页面中添加了脚本管理器。如果你没有添加它。请添加它,然后将脚本管理器“EnablePageMethod”属性设置为true。

这是链接。 http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/