从.ajax或PageMethods调用代码背后的代码

时间:2014-08-19 09:55:40

标签: asp.net ajax webforms pagemethods

我正在尝试使用ajax或PageMethods进行调用,但我总是将结果“未定义”返回,并且它永远不会运行我的代码。 它总是成功的状态,但数据是不对的。 我尝试在没有.d的情况下输出数据,但这对我没有帮助。

我的代码是:

    [WebMethod]
    [ScriptMethod]
    public static string GetCurrentTime()
    {
        return "The Current Time is: " + DateTime.Now.ToString();
    }

这是我的按钮

<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnablePartialRendering="true" runat="server"></asp:ScriptManager>
    <div>
        <input id="btnGetTime" type="button" value="Show Current Time" onclick = "ShowCurrentTime()" />
    </div>
</form>

我尝试过 AJAX

<script type = "text/javascript">
    function ShowCurrentTime() {
        $.ajax({
            type: "POST",
            url: "AjaxCall.aspx/GetCurrentTime",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            failure: function (response) {
                alert("fail: " + response.d);
            }
        });
    }
    function OnSuccess(response) {
        alert("success: " + response.d);
    }
</script>

我也试过 PageMethods

<script type = "text/javascript">
    function ShowCurrentTime() {
        PageMethods.GetCurrentTime(fnsuccesscallback, fnerrorcallback);
    }
    function fnsuccesscallback(data) {
        alert("succes " + data.d);
    }
    function fnerrorcallback(result) {
        alert("fail: " + result.statusText);
    }
</script>

任何人都可以帮助我解决出错的问题吗? :)

1 个答案:

答案 0 :(得分:0)

我在代码中看不到任何错误,你缺少对Jquery文件的引用。将Jquery文件添加到页面中。