ASP.NET Server不会异步处理页面

我有一个带有按钮的页面,我想通过按一下按钮来异步加载2个带有数据的数据网格。


这是页面的代码,我使用jquery调用其他2个页面,这些页面将产生html。


<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Solutions_CashCenter_StockManagement_Test_Test" %>

<asp:Content ID="Content2" ContentPlaceHolderID="cphCenter" Runat="Server">

<style type="text/css">

    #wait {

    position:absolute;

    top:0px;

    right:10px;

    width:200px;

    z-index:1000;

    vertical-align:middle;

    text-align:center;

    background: #febf00;

    display:none;

}

</style>

<script src='<%= ResolveUrl("../../../../Scripts/jquery-1.4.1.js") %>' type="text/javascript"></script>

<script type="text/javascript">

    $(function () {

        $('#wait')

        .ajaxStart(function () { $(this).show(); })

        .ajaxStop(function () { $(this).hide(); });


        $('input:button').live('click', loadData);

    });


    function loadData() {

        $.get("Source.aspx", {},

        function (data) {

            $('#a1').html(data);

        },

        "html");


        alert('This alert is asynchronous (1st)');


        $.get("Source2.aspx", {},

        function (data) {

            $('#a2').html(data);

        },

        "html");


        alert('This alert is asynchronous (2nd)');

    }

</script>

<div id="test13">

    <input type="button" id="btnLoad" value="Load" />

</div>

<div id="a1"></div>

<div id="a2"></div>

<div id="wait">Please wait <img src="ajax-loading.gif" /></div>

</asp:Content>

服务器端:


Thread.Sleep(5000);

dsTest.SelectCommand = "SELECT 'test1', 'test2', 'test3'";

this.gridTest.DataSourceID = "dsTest";

this.gridTest.DataBind();

第二页相同,但网格数据不同。


我得到的结果是两个警报都同时发生,但是网格是一个接一个地加载的,即第一个网格在5秒钟后出现,然后第二个网格在另一个5秒钟后出现。那是服务器实际上并不并发处理它们。


我在做什么错了,我应该如何组织所有人按需工作?


杨__羊羊
浏览 467回答 2
2回答

萧十郎

发生这种情况是因为会话锁定了页面读取。因此,当一页被加载时,会话将锁定所有其余请求,直到完成并发送该页面。要使其正常工作,您需要以太坊禁用此页面上的会话,默认情况下没有以太坊使用锁的以太坊使用处理程序。

哔哔one

Ajax请求是在客户端上异步加载页面。您仍然加载页面-我说的是在服务器上处理的页面-不在客户端浏览器上。由于会话锁定,服务器上的处理被阻止。
打开App,查看更多内容
随时随地看视频慕课网APP