【问题标题】:Updatepanel progress bar onclientclick event更新面板进度条 onclientclick 事件
【发布时间】:2015-03-02 12:16:15
【问题描述】:

我有一个适用于 OnClick 事件(服务器端)的更新进度条,但我需要更新 OnClientClick 事件(客户端)的进度条。

我尝试了以下解决方案,但它不适合我。

Js:

function ComparableSearch() { 
   $get('UpdateProgress1').style.display = 'block';    
    window.scrollTo(0, 0);
   
    GetRefineSearchDetailsMap(StreetNo[0], StreetNo[1], StreetName, State, County, ZipCodeFrom, ZipCodeTo, SalePriceFrom,
                               SalePriceTo, LivingArea, LivingAreaTo, SaleDateFrom, SaleDateTo, SubjectPropertyId, Section, Subdivision,
                               LotSizeFrom, LotSizeTo, YearBuiltFrom, YearBuiltTo, Stories, PrivatePool, FirePlace, Disclosure, IsListing,
                               City, Design, FirePlaceTo);
  
    $("#map").show();
    $("#MainSearchResult").hide();
    return false;
   $get('UpdateProgress1').style.display = 'none';

}



function GetRefineSearchDetailsMap(aStreetNoFrom, aStreetNoTo, aStreetName, aState, aCounty, aZipCodeFrom, aZipCodeTo, aSalePriceFrom,
                                    aSalePriceTo, aLivingArea, aLivingAreaTo, aSaleDateFrom, aSaleDateTo, aSubjectPropertyId, aSection, aSubdivision, aLotSizeFrom,
                                    aLotSizeTo, aYearBuiltFrom, aYearBuiltTo, aStories, aPrivatePool, aFirePlace, aDisclosure, aIsListing, aCity, aDesign, aFirePlaceTo) {


    var SalesSearchCriteria = {        
        X1: X1,
        X2: X2,
        Y1: Y1,
        Y2: Y
    };
    request = $.ajax({
        url: "Form1004/SaleComparableHandler.ashx?type=GetRefineSearchDetailsMap&Tid=" + Math.random(),
        type: "POST",
        data: { "SearchCriteria": JSON.stringify(SalesSearchCriteria) },
        async: true,
        success: function (data) {
            if (data.length > 0) {
                if (data != "Error") {
                    
                }
                else {                    
                    alert("Your session has been expired");
                }
            }
            else {               
                alert("No data exists");
            }
        },
        error: function (XMLHttpRequest, status, errorThrown) {
            if (errorThrown != 'abort') {
                PopUpAlertBox("Please try again...<br/><br/>Below error occured <br/><br/> " + errorThrown + "");
            }
            else {
                PopUpAlertBox("Error : " + errorThrown + "");
            }           
        }
    });

    return false;
}

【问题讨论】:

    标签: c# updatepanel updateprogress onclientclick updatepanel-progressbar


    【解决方案1】:

    如果我没记错的话,Ajax 就是你需要的。

    我应该在客户端创建脚本,它将数据传递给服务器(当事件 Click 为真时),服务器的结果是您的进度条的数据。

    小例子here

    【讨论】:

    • No.. 这里我在服务器端没有代码。我的功能只能通过客户端工作
    • 很抱歉我的回答。
    【解决方案2】:

    您可以使用它在 javascript 上显示 UpdateProgress 控件

    $get('UpdateProgress1').style.display = 'block'; 
    

    类似的东西把它隐藏起来

    $get('UpdateProgress1').style.display = 'none';
    

    编辑

    // display indicator before ajax starts
    $get('UpdateProgress1').style.display = 'none';
    
    $.ajax({
        url: "Form1004/SaleComparableHandler.ashx?type=GetRefineSearchDetailsMap&Tid=" + Math.random(),
        type: "POST",
        data: { "SearchCriteria": JSON.stringify(SalesSearchCriteria) },
        success: function (data) {
           // your code
        },
        error: function (XMLHttpRequest, status, errorThrown) {
           // your code
        }
    })
    .always(function() {
        // hide ajax indicator when ajax finished (success or error)
        $get('UpdateProgress1').style.display = 'none';
    });
    

    【讨论】:

    • @VigneshKumar:什么都不做,或者你得到一个错误? $ 符号可能与 jQuery 发生冲突
    • 没有错误。但什么也没做。如果冲突问题意味着我该怎么办?
    • 我找到了它的根本原因。这是因为,我正在使用 Ajax 请求。在那个Async:False。如果我设置Async:True 它工作正常,但我害怕forums.asp.net/t/…
    • @Vignesh Kumar:请发布您的代码,async: true 几乎永远不会是答案
    • @Vignesh Kumar:将$get('UpdateProgress1').style.display = 'none'; 移动到always ajax 处理程序中。查看我的更新。
    猜你喜欢
    • 2010-10-27
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    相关资源
    最近更新 更多