C# 在后台获取数据而不影响.net中的UI+;jquery

C# 在后台获取数据而不影响.net中的UI+;jquery,c#,jquery,html,json,vb.net,C#,Jquery,Html,Json,Vb.net,我需要在Jquery中创建多个搜索请求,从不同的表/页面进行搜索,我需要将所有搜索结果合并到一个HTML表中,并在UI中显示结果 下面是我的方法 在Jquery中使用$.ajax,我转到服务器(.Net代码),获取JSON数据,返回JSON文件,构建一个HTML表并显示结果(此结果将有复选框供用户选中/取消选中结果)。显示结果后,我再次使用$.ajax,转到服务器(.NET代码)获取数据,并将结果附加到第一个HTML表中 我的要求是,在这两个请求之间,我需要 1)显示正在加载的图像/文本。 2)

我需要在Jquery中创建多个搜索请求,从不同的表/页面进行搜索,我需要将所有搜索结果合并到一个HTML表中,并在UI中显示结果

下面是我的方法

在Jquery中使用$.ajax,我转到服务器(.Net代码),获取JSON数据,返回JSON文件,构建一个HTML表并显示结果(此结果将有复选框供用户选中/取消选中结果)。显示结果后,我再次使用$.ajax,转到服务器(.NET代码)获取数据,并将结果附加到第一个HTML表中

我的要求是,在这两个请求之间,我需要

1)显示正在加载的图像/文本。

2)用户应该能够访问(滚动、选中、取消选中)第一个JSON请求返回的HTML表格结果。

我也能做到。我面临的问题是关于2)。 一旦结果来自第一个请求,并且在div中显示结果,我将再次使用$.ajax触发第二个搜索请求。此时我无法访问HTML表。页面冻结,直到第二个请求的结果出现,直到我将结果绑定到HTML表

我的代码是这样的

function SearchDetails() {
GetDetails("Test", 0); /*Trigger First Request*/ }

function GetDetails(searchKeyword, iAppend) {
$.ajax({
    type: "POST",
    url: "FETCH_DETAILS.asmx/GetDetails",
    data: "{'searchKeyword':'" + searchKeyword + "', 'Append':'" + iAppend + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    crossDomain: true,
    jsonp: false,
    success: function (response) {
        if(iAppend == 0) //First Request
        {
            BindTable(response.d, iAppend); //Creates new HTML table and binds results
            GetDetails("TestNew", 1);//Trigger Second Request
        }
        else if (iAppend == 1) {
           BindTable(response.d, iAppend);
        }
    },
    failure: function (msg) {
        alert(msg);
    },

});}

function BindTable(SearchResults, iAppend){
/*Creates HTML Table & binds to a div for First Request
Creates HTML Table Rowss & appends to existing HTML table for Second Request*/ }
请告诉我是否遗漏了任何内容,或者是否有办法从Jquery转到服务器(.NET代码),而不影响(冻结)显示/UI。

也许可以设置:

async: false

可能会给你一个主意。。
async: true