New Batch#100 (10th Nov 2021) - Salesforce Admin + Dev Training (WhatsApp: +91 - 8087988044) :https://t.co/p4F3oeQagK

Showing posts with label Passing parameters between visualforce pages. Show all posts
Showing posts with label Passing parameters between visualforce pages. Show all posts

Thursday, 19 July 2012

Passing parameters between visualforce pages

Setting Parameters:
*From VF Page:
<apex:outputLink value="/apex/page4">click<apex:param name="EN" value="Success"/></apex:outputLink>
*From Page Reference:
PageReference nextpage = new PageReference('/apex/Page4?EN='+EmployeeName+'&EN2='+EmployeeName2);
-To pass more than one parameter We should use & symbol inbetween.
*  PageReference nextpage = new PageReference('/apex/Page4');
    nextpage.getParameters().put('En',EmployeeName);
    nextpage.getParameters().put('En2',EmployeeName2);
- We can use multiple put statements to pass multiple parameters.
To pass the parameters between the VF pages which have same controllers:
*No need to pass any parameters only the thing is that we should not  use nextpage.setRedirect(True);
*For this we need two VF pages and one controller.
 *VF page1:
<apex:page controller="customcontroller1">
<apex:form >
   Name<apex:inputtext id="inpEmployeeName" value="{!EmployeeName}"/><br/>
   <apex:CommandButton value="Next" action="{!next}" id="cmdNext" />
</apex:form>
</apex:page>

*VF page2:
<apex:page controller="customcontroller1">
   .The employee name is {!EmployeeName}
</apex:page>

*APEX Controller1:
public class customcontroller1 {

    public PageReference next() {
        PageReference nextpage = new PageReference('/apex/Page2');
        nextpage.setRedirect(False);//By default it is false, we should not make it true

        //if we make it true values will be vanished while we are navigating from one 
        //page to another page
        return nextpage;      
    }
    public String EmployeeName { get; set; }
}


To pass the parameters between the VF pages which have different controllers:
*For this we need two VF pages and two controllers.
*VF page1:
<apex:page controller="customcontroller1">
<apex:form >
   First<apex:inputtext id="inpEmployeeName" value="{!EmployeeName}"/><br/>
   Second<apex:inputtext id="inpEmployeeName2" value="{!EmployeeName2}"/><br/>
   Second<apex:inputtext id="inpEmployeeName3" value="{!EmployeeName3}"/><br/>
   <apex:CommandButton value="Next" action="{!next}" id="cmdNext" >     
   </apex:commandButton>
  <!-- <apex:outputLink value="/apex/page4">click<apex:param name="EN" value="{!EmployeeName}"/></apex:outputLink>-->
</apex:form>
</apex:page>
*APEX Controller1:
public class customcontroller1 {

    public String EmployeeName3 { get; set; }

    public String EmployeeName2 { get; set; }

    public PageReference next() {
        //PageReference nextpage = new PageReference('/apex/Page4?EN='+EmployeeName+'&EN2='+EmployeeName2);
        PageReference nextpage = new PageReference('/apex/Page4');
        nextpage.getParameters().put('En',EmployeeName);
        nextpage.getParameters().put('En2',EmployeeName2);
        nextpage.getParameters().put('En3',EmployeeName3);

        return nextpage.setRedirect(True); //Note that setRedirect method is used here
    }


    public String EmployeeName { get; set; }
}

*VF page2:
 <apex:page controller="customcontroller2">
   The employee name is {!EmployeeName}<br/>
   The employee name is {!EmployeeName2}<br/>
   The employee name is {!EmployeeName3}
   <!--{!$CurrentPage.parameters.EN}
   <apex:detail subject="{!$CurrentPage.parameters.EN}"/>-->
</apex:page>

*APEX Controller2:
public class customcontroller2 {

    public String EmployeeName { get; set; }
    public String EmployeeName2 { get; set; }
    public String EmployeeName3 { get; set; }
    //Constructor
  public customcontroller4()
  {
    EmployeeName = ApexPages.currentPage().getParameters().get('EN');
    EmployeeName2 = ApexPages.currentPage().getParameters().get('EN2');
    EmployeeName3 = ApexPages.currentPage().getParameters().get('EN3');

  }
}


*Use 'assignedTo' in VF page instead of using 'ApexPages.CurrentPage().getParameters().get('name')'

http://srinusfdc.blogspot.in/2012/07/actionfunction-in-vf.html

http://www.forcetree.com/2009/06/passing-parameters-to-visualforce-page.html

http://visualsalesforce.blogspot.in/2011/03/passing-values-between-pages-in.html

Labels