ajax调用后页面刷新

时间:2018-03-29 20:38:48

标签: .net ajax asp.net-ajax

我有一个返回人员列表的应用程序。 当您选择一个人时,它会触发ajax调用以检索信息(电话,电子邮件等)。

Ajax请求正常,我得到了正确的数据。

问题是我的页面在成功的ajax请求后保持刷新。 我该如何防止这种情况?

我正在使用的面板在点击时会崩溃并填充信息。

@{var count = 0;}

<div class="panel-group" id="search_results">

@foreach (var item in Model)
    {
        count++;
        var public_info_block_id = "public_info_block_" + count;
        var public_info_body_id = "public_info_body_" + count;

    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a class="collapsed" data-toggle="collapse" data-parent="#search_results" data-target="#@public_info_block_id" onclick="return populate_information('@item.USER_ID', '@public_info_body_id'); onclick=null; return=false;">
                    @item.USER_FIRST_NM @item.USER_LAST_NM
                </a>

            </h4>
        </div>
        <div class="panel-collapse collapse" id="@public_info_block_id">
            <div class="panel-body">
                <table class="table table-hover" id="@public_info_body_id"></table>
            </div>
        </div>
    </div>
}

我试过了

function populate_information(user_id, div_id)
    {

        $.ajax({
            type: "POST",
            url: '@Url.Action("get_public_info")',
            dataType: "json",
            data: { user_id: user_id },
            success: function (data) {
                var count = 0;
                $('#search_results').empty();
                alert("Success");
                alert("User ID: " + data.USER_ID);

                populate_public_information(data, div_id, user_id);

            },
            complete: function () {

            }
        });

        return false;
    }

我也尝试在onclick语句中返回false ...

<a class="collapsed" data-toggle="collapse" data-parent="#search_results" data-target="#@public_info_block_id" onclick="return populate_information('@item.USER_ID', '@public_info_body_id'); onclick=null; return=false;">

我有一个用perl编写的应用程序使用相同的逻辑,它工作正常。我有一种感觉,这是.NET正在做的事情,但我并不积极,因为我无法找到任何重新加载或重定向我的页面。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:-1)

在顶部的函数内写下这一行。

event.preventDefault();