0

我正在尝试使用 Ajax 调用 C# 函数,但调用不起作用。脚本显示 hello 消息但不显示成功/错误消息。我做错了什么

Java 脚本

<script type="text/javascript">
    $(document).ready(function () {
        $('#btnsave1').click(function () {
            alert("hello");
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "LeaveSurrender.aspx/apply",
                dataType: "json",
                success: function () {
                    alert('Successfully Saved');
                    // window.location.href = "ClubCreation.aspx";
                },
                Error: function () {
                    alert('error');
                }
            });

        });

    });

C# 方法

 protected void apply()
    {
        MessageBox.Show("hi");
}
4

2 回答 2

2

尝试这个:

   [WebMethod]//write [WebMethod]
   public static string apply()//method must be "pulic static" if it is in aspx page
   {
        return "Hi";
    }


 $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "LeaveSurrender.aspx/apply",
                dataType: "json",
                data:'{}',
                success: function (result) {
                    alert(result);
                    // window.location.href = "ClubCreation.aspx";
                },
                Error: function () {
                    alert('error');
                }
        });
于 2013-08-17T07:34:06.603 回答
2

您需要在这里修复的几件事。第一: 网络表单中没有 MessageBox。 更改 apply() 方法以返回字符串:

protected string apply()
{
    return "hi!";
}

第二:用于'#btnsave1'获取'#<%= btnsave1.ClientID %>'服务器生成的按钮 id 并捕获 apply() 方法返回的字符串。您的脚本应如下所示:

<script type="text/javascript">
    $(document).ready(function () {
        $('#<%= btnsave1.ClientID %>').click(function () {
            alert("hello");
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "LeaveSurrender.aspx/apply",
                dataType: "json",
                success: function (data) {
                    alert(data);
                    // window.location.href = "ClubCreation.aspx";
                },
                Error: function () {
                    alert('error');
                }
            });

        });

    });
</script>

第三:确保您在页面头部引用了 jquery:

<head runat="server">
    <script src="Scripts/jquery-1.8.2.js"></script>
于 2013-08-17T07:36:46.747 回答