У меня есть список элементов, которые я показываю в панели Panel, каждый элемент имеет comandButton, который вызывает действие на контроллере, проблема в том, что метод действия никогда не вызывается! Помощь?apex: commandButton inside apex: panelBar
Вот код:
<apex:panelBar id="eventBarSeller" switchType="client" items="{!relatedEventsSeller}" var="event" rendered="true">
<apex:panelbarItem label="{!event.SUBJECT__c}">
<apex:outputText escape="false" value="{!event.BODY__c}" />
<br/>
<br/>
<apex:commandButton value="View details" action="{!showPopup}" rerender="popup" immediate="true" rendered="true"/>
</apex:panelBarItem>
</apex:panelbar>
И всплывающий outputPanel:
<apex:outputPanel id="popup">
<apex:outputPanel styleClass="popupBackground" layout="block" rendered="{!displayPopup}"/>
<apex:outputPanel styleClass="custPopup" layout="block" rendered="{!displayPopup}">
This is where I would put whatever information I needed to show to my end user.<br/><br/><br/>
<apex:commandButton value="Hide Pop up" action="{!closePopup}" rerender="popup"/>
</apex:outputPanel>
</apex:outputPanel>
И в контроллере Я следующее:
public boolean displayPopup {get; set;}
public void closePopup() {
System.Debug(LoggingLevel.INFO, 'Close Popup...');
displayPopup = false;
}
public void showPopup() {
System.Debug(LoggingLevel.INFO, 'Show Popup...');
displayPopup = true;
}
Функция не showPopup получить не вызывается потому что я проверил журналы, что может случиться? Спасибо заранее!
Я попробовал то, что вы сказали, но не работает. Любое другое предложение? –
Да - у вас есть три открытия выходных панелей и только две закрывающие выходные панели. Интересно, почему это не помешало вам сохранить ваш Visualforce в первую очередь. В противном случае попробуйте удалить немедленное значение = "true", чтобы разрешить проверку на стороне клиента до выполнения вашего кода на стороне сервера. – Adam
Если это не сработает, может потребоваться опубликовать всю страницу и класс, чтобы определить, что происходит. Убедитесь, что подключен правильный контроллер, а для другого стандартного устранения неполадок потребуется больше кода. – Adam