t current record id salesforce
apexpages.currentpage().getparameters().get(‘id’) can be used to get current record id or other url parameters in apex code.
Many times we have requirement to get current record id or url parameters of visualforce page in apex code.
Many times we require the current record id in controller. For example we are redirecting from one visualforce page to another visualforce page using apex code and we have also set some parameters for second visualforce page. Then, in that case we can use apexpages.currentpage().getparameters().get(‘id’) to get parameter with id name or any other name.
One more example if we have a button on detail page overridden by visualforce page and once the button is pressed you require the id(or the other field values of that record) of the record from whose detail page the button was clicked. For this requirement also we can use ApexPages.CurrentPage().getparameters().get(‘id’) to get other parameters.
In the following example we will use a custom extension to get current record id and one parameter with name nameParam. Then we are using one visualforce page to display current record id and all fields related to that record id by querying using SOQL query and also displaying value of one more parameter with name nameParam. In this way we can get value of any parameter in Apex code.
Visualforce Page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| < apex:page standardController = "Account" extensions = "CurrentRecordIdDemoController" > < apex:form > < apex:pageBlock > < apex:pageBlockSection title = "Current account record Id is : {!currentRecordId}" collapsible = "false" > < apex:outputField value = "{!acc.name}" /> < apex:outputField value = "{!acc.AccountNumber}" /> < apex:outputField value = "{!acc.Type}" /> < apex:outputField value = "{!acc.Industry}" /> </ apex:pageBlockSection > < apex:pageBlockSection title = "Testing parameter" collapsible = "false" > Name is < b >{!parameterValue}</ b > </ apex:pageBlockSection > </ apex:pageBlock > </ apex:form > </ apex:page > |
Apex Code:
1
2
3
4
5
6
7
8
9
10
11
| public class CurrentRecordIdDemoController{ public String currentRecordId {get;set;} public String parameterValue {get;set;} public Account acc{get;set;} public CurrentRecordIdDemoController(ApexPages.StandardController controller) { currentRecordId = ApexPages.CurrentPage().getparameters().get( 'id' ); acc = [select id ,name, AccountNumber, Type, Industry from Account where id =: currentRecordId ]; parameterValue = ApexPages.CurrentPage().getparameters().get( 'nameParam' ); } } |
No comments:
Post a Comment