function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
SHAIK MOULALI369SHAIK MOULALI369 

Page not navigate To SObject

While clicking button here the page is not navigate to SObject.

Apex Class :
public class ContactListController {

    @auraEnabled
    public static List<contact> getContactList(String accountId){
        List<Contact> ContactList = New List<Contact>([Select Id, FirstName, LastName, Name, Email, phone 
                                                       from contact where Email != null AND AccountId =: accountId ]);
        return ContactList; 
    }
}
Component Class : 
<aura:component Controller="ContactListController" 
                implements="force:hasRecordId,flexipage:availableForAllPageTypes" >
    <aura:attribute name="ContactList" type="Contact[]"/>
    
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    
    <div class="slds-p-around_xxx-small">
        <div class="slds-grid slds-wrap">
        <aura:iteration items="{!v.ContactList}" var="con">
        
              <div class="slds-col slds-size_1-of-3 slds-p-around_xxx-small"> 
        <lightning:card footer="{!con.Email}" title="{!con.LastName}" iconName="action:add_contact">
            <aura:set attribute="actions"> 
            <lightning:button name="{!con.Id}" variant="brand" label="View Details" onclick="{!c.DoRedirect}"/>
            </aura:set>
            <p class="slds-p-horizontal_xxx-small">
                {!con.FirstName}&nbsp; {!con.LastName} <br/>
                {!con.phone}
            </p>
        </lightning:card>
            </div>
            
       </aura:iteration>
       </div> 
    </div>   
     
</aura:component>
Controller Class :
({
    doInit : function(component, event, helper) {
        /* Step 1 */
        var action = component.get('c.getContactList');
        /* Step 2 */
        action.setParams({
            accountId : component.get('v.recordId'),
        });
        /* Step 4 */
        action.setCallback(this, function(response){
            var responseValue = response.getReturnValue();
            console.log('responseValue', responseValue);
            component.set('v.ContactList',responseValue)
        }, 'SUCCESS');
        /* Step 4 */
        $A.enqueueAction(action, true);
        
    },
    DoRedirect : function(component, event, helper) {
           var eventsource = event.getsource();
        var id = eventsource.get('v.name'); 
        var navEvt = $A.get("e.force:navigateToSObject");
    navEvt.setParams({
      "recordId": "id",
      "slideDevName": "detail"
    });
    navEvt.fire();
    },
})

Here c.DoRedirect is working or not, plsease suggest me is there any error in the above code.
Best Answer chosen by SHAIK MOULALI369
ravi soniravi soni
Hi Shaik,
Replace this following method with your DoRedirect method
DoRedirect : function(component, event, helper) {
           var eventsource = event.getSource();
        var id = eventsource.get('v.name'); 
        console.log('id====> ' + id);
        var navEvt = $A.get("e.force:navigateToSObject");
    navEvt.setParams({
      "recordId": id,
      "slideDevName": "detail"
    });
    navEvt.fire();
    },


Let me know, if it's helps you  marking it solved so that it can help to others.

Thank You