如何在母版页和内容页中使用UpdateProgress

时间:2015-06-30 10:21:40

标签: asp.net updatepanel updateprogress

我在母版页中有一个for(int z=0;z<2000;z++){ String nameString =namesarray[z]; TreeSet<String> nameofset = new TreeSet(); } ,它出现在内容页面的任何异步帖子上。工作正常。

在其中一个内容页面中,我有另一个UpdateProgress,它在文本框的UpdateProgress事件上运行。发生异步回发后,会出现TextChanged个控件。

我在内容页面中尝试在UpdateProgress上使用AssociatedUpdatePanelID,但它无效。两者仍然出现。

如何在特定UpdateProgress的母版页中停用UpdateProgress

3 个答案:

答案 0 :(得分:0)

设置EnablePartialRendering =&#34; false&#34;在ScriptManager上,它实际上会禁用UpdatePanel的AJAX行为。这样你就可以在这个页面中放置一个属性,让内容页面能够启用/禁用异步回发的工作方式。

<asp:ScriptManager EnablePartialRendering="false"></asp:ScriptManager>

答案 1 :(得分:0)

这可能会帮助某些人,遵循JavaScript代码为我做的事情:

var disableProgressCtrls = ["MyControl1", "MyControl2"];
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
function InitializeRequest(sender, args) {
    var updateProgress = $get("MyMasterPageUpdateProgress");
    var postBackElement = args.get_postBackElement();
    if (disableProgressCtrls.indexOf(postBackElement.id) > -1) {
        updateProgress.control._associatedUpdatePanelId = 'dummyId';
    } else {
        updateProgress.control._associatedUpdatePanelId = null;
    }
}

答案 2 :(得分:0)

这是一个非常简单(但功能齐全,目前正在工作)的解决方案。当每个WebForm-aspx包含AJAX-UpdatePanel以及在&lt;中定义的每个async-postback时,它就变得神奇了。触发器&gt;将调用UpdateProgress进行显示。使用PostbackURL的按钮不会显示UpdateProgress。 “DisplayAfter”值有助于控制实际显示图像时的计时条件。

在MasterPage中,为UpdateProgress放置代码(代码段),如下所示:

<body class="BodyStandard">  // NOTE: my BodyStandard is not relevant to this solution.
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />   
  <div>
     <asp:UpdateProgress ID="updprgMain02" runat="server" DisplayAfter="100">
        <ProgressTemplate>    // NOTE:  apply your wait-image spinner, not mine.
           <img src="Images/PleaseWait.gif" alt="Please wait..."/><br /><br />&nbsp;&nbsp;Please wait...&nbsp;&nbsp;
        </ProgressTemplate>
     </asp:UpdateProgress>
  </div>
...etc...

要在运行时调用UpdateProgress的位置,请在MasterPage样式中使用此CSS,如下所示:请注意,control-ID与CSS样式名称匹配。另外 - 请求等待内容在UpdateProgress标记中定义,并按照后面的CSS格式化:

  #updprgMain02    {
     background: url(Images/PleaseWait.gif) no-repeat 50px 50px;
     padding: 3em;
     text-align: center;
     vertical-align: middle;
     position:fixed;
     z-index: 16000;
     top: 10em;
     left: 36em;
     /* IE */
     -moz-opacity: 1.0;
     /* Mozilla */
     opacity: 1.0;
     background-color: gold;
     color: black;
     font-weight: bold;
     font-size: large;
 }

以下是请等待图片(gif)的快照。

enter image description here