未知属性'String.FirstName'

时间:2018-02-01 19:27:24

标签: salesforce visualforce apex

错误:未知属性'String.FirstName__c'
我正在尝试开发一个简单的注册页面,其中包含三个名为FirstName,LastName和ContactNumber的列。 谁能告诉我我犯了错误的界限。

<apex:page Controller="Reg">

        <apex:form>

        <apex:pageBlock title="Registration Edit"  mode="edit">
      <apex:pageBlockButtons location="both">
          <apex:commandButton value="save" action="{!Save}"/>
          <apex:commandButton value="cancel" action="{!Cancel}"/>

          <apex:commandButton value="addRow" action="{!addRowMethod}" rerender="anyName"/>
          <apex:commandButton value="removeRow" action="{!removeRowMethod}"/>
          </apex:pageBlockButtons>
      <apex:pageBlockSection title="Information" columns="1">
          <apex:inputText value="{!Registration.FirstName__c}"/>
          <apex:inputText value="{!Registration.LastName__c}"/>
          <apex:inputText value="{!Registration.ContactNumber__c}"/>
      </apex:pageBlockSection>
  </apex:pageBlock>
  </apex:form>
</apex:page>



The controller code

public class Reg {

    public String Registration { get; set; }

    public PageReference removeRowMethod() {
        return null;
    }


    public PageReference addRowMethod() {
        return null;
    }


    public PageReference Cancel() {
        return null;
    }


    public PageReference Save() {
        return null;
    }

}

1 个答案:

答案 0 :(得分:1)

public String Registration { get; set; } - 这是一个String变量。像“整数”或“布尔”这样的“原始”。它没有字段。

你要么把它变成一个sObject(不知道你在做什么,在标准Contact对象上存在这些字段,或者你有自定义Registration__c),比如说

public Registration__c registration {get;set;}
// ...
// constructor
public Reg(){
    registration = new Registration__c(LastName__c = 'Hello there');
}

或者你可以在课堂上有三个自由浮动的字符串字段,然后在VF页面上引用它们。

public String firstName {get;set;}
public String lastName{get;set;}
public String contactNumber {get;set;}

<apex:inputText label="First Name" value="{!firstName}" />