Jquery AJAX与ASP.NET WebMethod刷新整个页面

本文关键字:刷新 WebMethod AJAX ASP NET Jquery | 更新日期: 2023-09-27 18:05:16

我使用Jquery Ajax在我的表单中设置Label和ListBox的值。我意识到值是由函数正确设置的。但在此之后,页面会刷新,清除之前设置的所有值。为什么会发生这种情况?我是Jquery/Ajax的新手。我是不是漏掉了什么基本原理?提前感谢。

我正在粘贴整个代码

        $(document).ready(function () {
            $('#Button1').bind('click', function clk() {
                $.ajax({
                    type: "POST",
                    url: "WebForm5.aspx/TestMethod",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (result) {
                        alert(result.d.ListBox.length);
                        for (var i = 0; i < result.d.ListBox.length; i++) {
                            alert(result.d.ListBox[i]);
                            $(document.createElement("option")).attr("value", result.d.ListBox[i]).html(result.d.ListBox[i])
   .appendTo('#<%=ListBox1.ClientID  %>');
                            $('#Label1').text(result.d.MyProperty);
                        }
                    }
                });
            })
        });                   

Jquery AJAX与ASP.NET WebMethod刷新整个页面

Button1在你的代码是一个asp按钮,这是一个提交按钮。当你点击它时,它会提交页面并刷新整个页面。如果你想阻止页面被提交,点击return false按钮,它将工作。

$('#Button1').bind('click', function clk() {
                $.ajax({
                    type: "POST",
                    url: "WebForm5.aspx/TestMethod",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (result) {
                        alert(result.d.ListBox.length);
                        for (var i = 0; i < result.d.ListBox.length; i++) {
                            alert(result.d.ListBox[i]);
                            $(document.createElement("option")).attr("value", result.d.ListBox[i]).html(result.d.ListBox[i])
   .appendTo('#<%=ListBox1.ClientID  %>');
                            $('#Label1').text(result.d.MyProperty);
                        }
                    }
                });
  return false;
            })