<apex:page standardController="Contact">
        <apex:pageBlock title="Edit Contact">
            <apex:pageBlockSection columns="1">
                <apex:inputField value="{!contact.FirstName}"/>
                <apex:inputField value="{!contact.LastName}"/>
                <apex:inputField value="{!contact.Email}"/>
            <apex:commandButton action="{!save}" value="save"/>
                <apex:commandButton action="{!cancel}" value="cancel"/>
            <apex:pageBlockTable value="{!conList}" var="c">
                <apex:column headerValue="First Name">
                <apex:outputField value="{!c.Firstname}" />
                <apex:column headerValue="Last Name">
                <apex:outputField value="{!c.Lastname}" />
                <apex:column headerValue="Email">
                <apex:outputField value="{!c.Email}" />


public with sharing class ContactEditController {
    public contact c {get; set;}
    public List<contact> conList {get;set;}
    public ContactEditController(){
        c= new Contact();   
    public PageReference save(){
        insert c;
        conList= [select FirstName,LastName,Email from Contact where id=:c.id];
        return null;


1 Answer 1


You are missing the extension in your VF page.

Your first line should be

<apex:page standardController="Contact" extensions="ContactEditController" />

However, unless you make a quick change to your controller, this won't work either. You have to implement a constructor (that the page will use)

public ContactEditController(ApexPages.StandardController stdController) {
  //Initialize your contact variable here

For more details, visit this page.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .