Como adicionar botão ou link para a página do Visualforce, cujo controlador padrão não é o mesmo que aplicar a guia?
-
26-09-2019 - |
Pergunta
Eu tenho a página do Visualforce CompetitorSearch.page
esse uso CompSearchDummy__c
como controlador padrão.
<apex:page StandardController="CompSearchDummy__c" extensions="CompetitorSearch">
Se eu quiser adicionar botão personalizado na página de CompSearchDummy
, CompetitorSearch.page
aparece para o destino da página.
Mas eu tenho Talent
página que usa Talent__c sObject
E quando tentei adicionar botão personalizado e tentar definir o destino, CompetitorSearch.page
não aparece como uma opção porque eu não defini Talent__c
Como standard controller
.
De alguma forma, é possível adicionar meu link da Página CompetitorSearch.Page à página de talentos?
Solução
Se eu entendi sua pergunta corretamente, você deseja adicionar um apex:commandButton
ir para outra página. Quando você estava na mesma página, era apenas refrescante, mas para ir para outra página, você precisa especificar uma ação no apex:commandButton
Isso aponta para um método em uma extensão do controlador que retorna uma referência para onde você deseja ir. Assim:
<apex:commandButton action="{!gotoCompetitorSearch}" value="Competitor Search" />
public PageReference gotoCompetitorSearch() {
return Page.CompetitorSearch;
}
Observe que, se você realmente não precisa de um botão ou lógica especial e só quiser ir para outra página, você pode fazer isso com apenas um apex:outputLink
sem necessidade de uma extensão do controlador, como esta:
<apex:outputLink value="{!$Page.CompetitorSearch}">CompetitorSearch</apex:outputLink>