Salesforce 未知构造函数';。。。。。。。(ApexPages.StandardController)和#x27;
未知的构造函数“….(ApexPages.StandardController)” 我是Salesforce的新手。 我正在做一个练习题,我必须创建一个Visualforce页面来保存联系人的详细信息,并将其显示在另一个VF页面上 ContactDetails.vfp:Salesforce 未知构造函数';。。。。。。。(ApexPages.StandardController)和#x27;,salesforce,apex,visualforce,Salesforce,Apex,Visualforce,未知的构造函数“….(ApexPages.StandardController)” 我是Salesforce的新手。 我正在做一个练习题,我必须创建一个Visualforce页面来保存联系人的详细信息,并将其显示在另一个VF页面上 ContactDetails.vfp: <apex:page standardController="Contact" extensions="ContactDisplayController"> <apex:form >
<apex:page standardController="Contact" extensions="ContactDisplayController">
<apex:form >
<apex:pageBlock title="Add Contact">
<apex:pageBlockSection columns="1">
<apex:inputField value="{! Contact.FirstName }"/>
<apex:inputField value="{! Contact.Lastname }"/>
<apex:inputField value="{! Contact.Phone }" />
<apex:inputField value="{! Contact.Email }" />
<apex:inputField value="{! Contact.Birthdate }" />
</apex:pageBlockSection>
<apex:pageBlockButtons >
<apex:commandButton action="{!saveAndRedirect}" value="Save" />
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>
</apex:page>
}
当我试图保存此代码时,出现错误:
未知构造函数“ContactDisplayController.ContactDisplayController(ApexPages.StandardController控制器)”
请告诉我这段代码有什么问题。我认为您的apex类没有保存,因为它应该有一些错误,因此您的visual force页面将无法找到扩展构造函数 将ContactDisplayController类更新为以下内容,并确保它先保存而没有错误,然后保存visual force页面,并且不应出现错误
public class ContactDisplayController {
public Contact con { get; set; }
public ApexPages.StandardController controller {get; set;}
public ContactDisplayController(ApexPages.StandardController controller) {
this.controller = controller;
}
public PageReference redirectToMyVF() {
PageReference pref = new PageReference('/apex/Page');
pref.setRedirect(true);
return pref;
}
public PageReference saveAndRedirect() {
if(controller.Save() != null) {
//save your contact record
controller.Save();
//retrieve the contact record
con = ( Contact ) controller.getRecord();
System.debug( con );
//pass the contact id as the URL parameter
PageReference redirectPage = new PageReference('/apex/ContactDisplay?id=' + con.Id);
return redirectPage;
}
return null;
}
}
我能够用你建议的代码解决msgs中的所有错误。但是我的代码仍然不起作用。单击保存时出错-->错误在contactdetails:Class.ContactDisplayController.SaveAndDirect:第19行第1列组件中的表达式“{!SaveAndDirect}”中。抱歉,忘记了pageReference的“Apex”部分应该是<代码>页面引用重定向页面=新页面引用('/apex/ContactDisplay?id='+con.id)代码>
public Contact con { get; set; }
public ContactDisplayController(ApexPages.StandardController controller) {
}
public PageReference redirectToMyVF() {
PageReference pref = new PageReference('/apex/Page');
pref.setRedirect(true);
return pref;
}
public PageReference saveAndRedirect() {
if(controller.Save() != null) {
//save your contact record
controller.Save();
//retrieve the contact record
con = ( Contact ) controller.getRecord();
System.debug( con );
//pass the contact id as the URL parameter
PageReference redirectPage = '/ContactDisplay?id=' + con.Id;
return redirectPage;
}
return null;
}
public class ContactDisplayController {
public Contact con { get; set; }
public ApexPages.StandardController controller {get; set;}
public ContactDisplayController(ApexPages.StandardController controller) {
this.controller = controller;
}
public PageReference redirectToMyVF() {
PageReference pref = new PageReference('/apex/Page');
pref.setRedirect(true);
return pref;
}
public PageReference saveAndRedirect() {
if(controller.Save() != null) {
//save your contact record
controller.Save();
//retrieve the contact record
con = ( Contact ) controller.getRecord();
System.debug( con );
//pass the contact id as the URL parameter
PageReference redirectPage = new PageReference('/apex/ContactDisplay?id=' + con.Id);
return redirectPage;
}
return null;
}
}