[![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}"/>             
                   <!-- &nbsp; &nbsp;
                  <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;
        
        }
        
       }