Ajax回发不适用于目录中的页面?

时间:2014-03-07 06:49:48

标签: c# jquery asp.net ajax asp.net-mvc

我使用的是asp.net web应用程序,而不是MVC ..所以没有控制器。在我的UI中,我在该文件夹中有一个文件夹,我有我的页面 java脚本回发我正在使用

<script type="text/javascript">
    function GetRepositoryDetailsFK() {
        debugger;

        var myurl = "../MYFOLDER/MYPAGE.aspx/mymethod";

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            data: {},
            url: myurl,
            dataType: "json",
            beforeSend: function() {


            },
            success: function(data) {


            },

            error: function(ex) {

            },
            complete: function() {

            }
        });
    }
</script>

在我的.axpx.cs页面

[System.Web.Services.WebMethod]
        public void mymethod()
        {

        }

我跟着 http://www.aspsnippets.com/Articles/Make-AJAX-Call-to-ASP.Net-Server-Side-Web-service-method-using-jQuery.aspx

但不知道它没有达到方法。任何帮助?

2 个答案:

答案 0 :(得分:1)

您的方法必须是静态的,如该示例中所述。

[System.Web.Services.WebMethod]
public static string mymethod()
{
    //do something
}

这是因为调用不是对整个页面生命周期的真正调用。 Reference

或者,使用asp.net webservices(.asmx)编写可以使用ajax调用的Web方法。 Example

答案 1 :(得分:0)

尝试

<script type="text/javascript">
    function GetRepositoryDetailsFK() {

        var myurl = "../MYFOLDER/MYPAGE.aspx/mymethod";

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: myurl,
            dataType: "json",
            async: false,
            cache: false,
            timeout: 3000,
            success: function(data) {
            },
            error: function(ex) {
            }
        });
    }
</script>