[![https://i.sstatic.net/iwmUb.jpg][1]][1] <br> Then the record saves, but doesn't close the VF page container and redirect. [![https://i.sstatic.net/6Z7Bj.jpg][2]][2] [1]: https://i.sstatic.net/iwmUb.jpg [2]: https://i.sstatic.net/6Z7Bj.jpg <br><br> **VF Page:**<br> <apex:page standardController="Lab__c" extensions="MassAssociateController" showHeader="false" standardStylesheets="false" sidebar="false" applyHtmlTag="false" applyBodyTag="false" docType="html-5.0"> <html xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <apex:includeScript value="/soap/ajax/35.0/connection.js"/> <apex:includeScript value="/soap/ajax/35.0/apex.js"/> <apex:includeScript value="/canvas/sdk/js/publisher.js"/> <apex:stylesheet value="{!URLFOR($Resource.SLDS092, 'assets/styles/salesforce-lightning-design-system-vf.css')}" /> <apex:stylesheet value="{!URLFOR($Resource.SLDS092, 'assets/styles/salesforce-lightning-design-system.css')}" /> <apex:form > <div class="slds"> <div class="slds-page-header" role="banner"> <div class="slds-grid"> <div class="slds-col slds-has-flexi-truncate"> <div class="slds-media"> <div class="slds-media__figure"> <svg aria-hidden="true" class="slds-icon slds-icon--large slds-icon-standard-user"> <use xlink:href="{!URLFOR($Resource.slds092, 'assets/icons/custom-sprite/svg/symbols.svg#custom58')}" /> </svg> </div> <div class="slds-media__body"> <p class="slds-text-heading--label">{!Lab__c.Name}</p> <div class="slds-grid"> <h1 class="slds-table slds-table--bordered slds-max-medium-table--stacked-horizontal" title="Record Title">Equipment Association</h1> <div class="slds-col slds-shrink-none"> </div> </div> </div> </div> </div> </div> <br /> <nav role="navigation"> <p id="bread-crumb-label" class="slds-assistive-text"></p> <ol class="slds-breadcrumb slds-list--horizontal" aria-labelledby="bread-crumb-label"> <li class="slds-list__item slds-text-heading--label">{!Lab__c.Account_Name_VF__c}</li> </ol> </nav> </div> </div> <apex:PageBlock > <div align="center" draggable="false"> <apex:commandbutton style="float:centre" styleClass="slds-button slds-button--brand" value="Save" action="{!saveRecord}"/> <!-- <apex:commandbutton style="float:centre" styleClass="slds-button slds-button--brand" value="Cancel" action="{!cancel}"/> --> </div> <script> if((typeof sforce != 'undefined') && (sforce != null) ) { sforce.one.navigateToSObject(recId,'detail'); } </script> </apex:PageBlock> <apex:pageBlock > <apex:pageBlockTable styleClass="slds-table slds-table--bordered" value="{!cb}" var="Equipment"> <apex:column > <apex:inputCheckBox value="{!Equipment.s}"/> </apex:column> <apex:column value="{!Equipment.t.Name}"/> <apex:column value="{!Equipment.t.Account_Name__c}"/> <apex:column value="{!Equipment.t.Product_Category__c}"/> <apex:column value="{!Equipment.t.System_Manufacturer__c}"/> <apex:column value="{!Equipment.t.Version_Type__c}"/> <apex:column value="{!Equipment.t.Warranty_Status__c }"/> </apex:pageBlockTable> </apex:pageBlock> </apex:form> </html> </apex:page> <br> **Apex Controller:**<br> public class MassAssociateController { string recId; /*public String getsaveRecord() { system.debug('this is test method'); return null; }*/ public list<Equipment__c> equip{get;set;} public List<checkbox> cb{get;set;} public MassAssociateController(ApexPages.StandardController controller) { recId = controller.getRecord().Id; cb=getData(); } public List<checkbox> getData(){ Lab__c recName=[SELECT Account_Name__c FROm Lab__c WHERE Id =:recId]; equip = [SELECT Name, Account_Name__c,Account_Name__r.Name, Product_Category__c, System_Manufacturer__c, Version_Type__c, Warranty_Status__c FROM Equipment__c WHERE Account_Name__c=:recName.Account_Name__c AND Account_Name__c != NULL AND Lab__c =null ]; cb = new List<checkbox>(); for(Equipment__c pe: equip) { cb.add(new checkbox(false,pe)); } return cb; } public class checkbox{ public Boolean s{get;set;} public Equipment__c t {get;set;} public checkbox(Boolean s,Equipment__c t){ this.s=s; this.t=t; } } public pageReference saveRecord(){ PageReference pageRef = new PageReference('/'+recId); pageRef.setredirect(true); List<Equipment__c> lstEqu = new List<Equipment__c>(); system.debug('cb======='+cb); system.debug('recId===='+recId); for(checkbox wapper:cb ){ system.debug('wapper.s======='+wapper.s); // check this record is selected or not if(wapper.s == true){ lstEqu.add(wapper.t);// selected records are add to list } } for(Equipment__c obj:lstEqu){ obj.Lab__c= recId; } update lstEqu; return pageRef; } public pageReference cancelRecord(){ PageReference pageRef = new PageReference('/'+recId); pageRef.setredirect(true); return pageRef; } }