再次,可爱的人。
在页面重新加载时遇到顶点:组件刷新的问题,我似乎无法弄清楚如何处理它。
我们已尝试过将所有组件放入outputPanel并将其添加到rerender属性,使用oncomplete重新加载整个页面,使用window.reload(类似的东西)功能,甚至尝试强制执行使用setTimeout重新加载。
虽然我能够让整个页面本身重新加载,但是直到你真正上去并点击"刷新"浏览器上的按钮。
代码的演示如下:
<apex:page controller="myController" id="thePage" showHeader="false" sidebar="false" applyHTMLTag="false" standardStylesheets="false" action="{!onStart}">
<apex:composition template="myTemplate">
<apex:define name="header">
<c:myHeader fixed="true" language="{!langPref}" filling="true" timeout="true" /> <!--appStatus="{!app.App_Status__c}"-->
</apex:define>
<apex:define name="sidebar" >
<c:mySidebar id="theSidebar" applicationCurrentStage="{!currentStage}" applicationMaxStage="{!app.Application_Stage__c}" stages="{!appPagesMetadata}" memberSegmentedStages="{!memberSegmentedStages}" stagesToInvalidate="{!stagesToInvalidate}" currentMemberIndex="{!memberIndex}" members="{!members}" application="{!app}"/>
</apex:define>
<apex:define name="contents">
<p>There's totally some stuff in here.</p>
<div class="form-group">
<div class="col-lg-12">
<apex:commandButton action="{!save}" value="{!$Label.Save_Progress}" rerender="thePage" rendered="{!app.Application_Stage__c==NEW_STAGE && !guestUser}" oncomplete="myJS.afterSave({!isSaved},false);" status="blockStatus" />
<!--Functionality to Save and go Next-->
<apex:commandButton action="{!saveAndNext}" value="{!IF(previousStage==app.Application_Stage__c||app.Application_Stage__c==NEW_STAGE,$Label.Save_Next_btn ,$Label.Save_Progress)}" rerender="theForm" oncomplete="myJS.afterSave({!isSaved},true);" status="blockStatus" rendered="{!NOT(guestUser) || NOT(captchaEnabled)}" />
<apex:commandButton action="{!verifyCaptcha}" value="{!IF(previousStage==app.Application_Stage__c||app.Application_Stage__c==NEW_STAGE,$Label.Save_Next_btn,$Label.Save_Progress)}" rerender="thePage" oncomplete="myJS.afterSave({!isSaved},true);" status="blockStatus" rendered="{!guestUser && captchaEnabled}" />
<apex:actionFunction action="{!nextPage}" name="nextPage" status="blockStatus" />
<!--Functionality to Go To Page based on Sidebar preference-->
<apex:actionRegion renderRegionOnly="true">
<apex:outputPanel id="fastRerenderPanel" />
<apex:actionFunction action="{!findPage}" name="goToPage" status="blockStatus" reRender="fastRerenderPanel" oncomplete="redirectToPage();">
<apex:param name="goToPage" id="goToPage" assignTo="{!goToPage}" value="" />
<apex:param name="memberIndexNavigation" id="memberIndexNavigation" assignTo="{!memberIndex}" value="" />
</apex:actionFunction>
<apex:actionFunction action="{!redirectToPage}" name="redirectToPage" status="blockStatus" />
</apex:actionRegion>
<apex:actionStatus id="blockStatus" onstart="myJS.blockScreen();" onstop="myJS.unblockScreen();" />
</div>
</div>
</apex:define>
</apex:composition>
</apex:page>
再次感谢大家。