2012-07-11 7 views

Répondre

0

Vous pouvez le faire en acheminant à la page suivante Visualforce et passer la valeur que vous souhaitez afficher en tant que paramètre. Quelque chose comme ça dans Apex devrait fonctionner:

PageReference gotoPage() 
{ 
    PageReference pr = Page.YourSecondVFPage; 
    pr.getParameters().put('secondnumber', '' + this.secondNumber); 
    pr.setRedirect(true); 
    return pr; 
} 

Puis, en Visualforce:

<apex:commandButton value="Go!" action="{!gotoPage}"/> 
0

Je pense que vous pouvez essayer d'utiliser le même contrôleur sur les deux pages. De cette façon, vous n'avez pas besoin de transmettre toutes ces données, en supposant que vous ayez plus de deux champs à gérer, que des paramètres d'URL ou que vous ayez à stocker les données quelque part si vous n'en avez pas besoin.

Si les deux pages utilisent le même contrôleur et lorsque vous redirigez l'utilisateur à l'aide d'un PageReference assurez-vous de définir la valeur de redirection faux, sinon traite Salesforce comme une nouvelle demande et commence la page avec une nouvelle instance de la manette.

L'exemple de code ci-dessous permet à l'utilisateur de taper du texte dans un champ, puis lorsque l'utilisateur clique sur l'affichage d'impression, il affiche un PDF utilisant les mêmes informations. Aucune donnée n'a été enregistrée dans la base de données.

Contrôleur

public with sharing class MyController { 

public string MyData {get;set;} 

public MyController() { 
    MyData = '';  
} 

public PageReference printView() { 
    PageReference oPageRef = Page.MyPage2; 
    oPageRef.setRedirect(false); 

    return oPageRef; 
} 
} 

Page 1:

<apex:page controller="MyController"> 
<apex:sectionheader title="Test" subtitle="My Page"/> 

<apex:form id="formData"> 
    <apex:pageBlock title="My Data"> 
     <apex:pageBlockButtons > 
      <apex:commandButton value="Printable View" action="{!printView}" /> 
     </apex:pageBlockButtons> 

     <apex:pageBlockSection > 
      <apex:pageBlockSectionItem > 
       <apex:outputLabel value="My Data"/> 
       <apex:inputTextArea value="{!MyData}" /> 
      </apex:pageBlockSectionItem> 
     </apex:pageBlockSection> 
    </apex:pageBlock> 
</apex:form> 
</apex:page> 

Page 2:

<apex:page controller="MyController" 
renderAs="pdf"> 

{!MyData} 
</apex:page> 
Questions connexes