Salesforce Визуальные страницы силы
Мой объект Consumer
:
Вот Consumer
Объект имеет следующие поля и хочет создать запись. Но исключение нулевого указателя сообщается.
Страница Visualforce:
<apex:page controller="signup1" >
<apex:form >
<h1>User SignUp</h1>
<apex:panelGrid columns="2" style="margin-top:2em;">
<p><b>Name :</b><br />
<apex:inputField id="name" value="{!con.Name}"/>
</p>
<p><b>Address :</b><br />
<apex:inputField id="address" value="{!con.address__c}"/>
</p>
<p><b>Email Id :</b><br />
<apex:inputField required="true" id="emailid" value="{!con.email_id__c}"/>
</p>
<p><b>Password :</b><br />
<apex:inputSecret id="password" value="{!con.password__c}"/>
</p>
<p><b>Confirm Password :</b><br />
<apex:inputSecret id="confirmpassword" value="{!con.Confirm_Password__c}"/>
</p>
<p><b>Security Question :</b><br />
<apex:inputField required="true" id="securityquestion" value="{!con.Security_Question__c}"/>
</p>
<p><b>Answer :</b><br />
<apex:inputField required="true" id="answer" value="{!con.Answer__c}" />
</p>
<p><b>Ph No :</b><br />
<apex:inputField required="true" id="phno" value="{!con.phone__c}"/>
</p>
<p><b>Pan Card No :</b><br />
<apex:inputField required="true" id="pancardno" value="{!con.Pan_Card_No__c}"/>
</p>
<p> <apex:commandButton action="{!registerUser}" value="SignUp" id="SignUp"/></p>
</apex:panelGrid>
</apex:form>
</apex:page>
controller :
public class signup1
{
Consumer__c con = new Consumer__c();
public void signup1()
{
con = [SELECT Name, address__c, email_id__c, password__c, Confirm_Password__c, Security_Question__c, Answer__c, phone__c from Consumer__c where Name =: ApexPages.currentPage().getParameters().get('Name')];
}
public Consumer__c getcon()
{
return con;
}
public PageReference registerUser()
{
try
{
insert Con;
}
catch(System.DMLException e)
{
ApexPages.addMessages(e);
return null;
}
PageReference pageRef = new PageReference(ApexPages.currentPage().getUrl());
pageRef.setRedirect(true);
return pageRef;
}
}
Я не могу вставить данные в Consumer
объект из-за нулевого исключения.
3 ответа
Потребитель недоступен на вашей странице Visual Force, поскольку для него нет метода получения или получения.
public class signup1
{
public Consumer__c con {get; set;}
public signup1()
{
try
{
// Make sure 'ApexPages.currentPage().getParameters().get('Name')' is indeed not null.
con = [SELECT Name, address__c, email_id__c, password__c, Confirm_Password__c, Security_Question__c, Answer__c, phone__c from Consumer__c where Name =: ApexPages.currentPage().getParameters().get('Name')];
}
catch(Exception ex)
{
system.debug(ex.getMessage());
}
}
..............
}
Вы не устанавливаете значения, полученные со страницы VF, ни в один параметр контроллера. Сначала установите их. Затем создайте объект типа Consumer и затем присвойте эти значения со страницы VF в поля из объекта. Только тогда вы сможете вставить кон.
Это кодирование совершенно неправильно. 1. Какова цель извлечения полей Name, address__c, email_id__c, password__c, Confirm_Password__c, Security_Question__c, Answer__c и phone__c из объекта клиента, как только эти поля ввода. 2. почему у вас нет стандартного контроллера на объекте Customer. 3. Если вы выбираете значения, основанные на имени, вам нужно поместить кнопку поиска рядом с полем имени и получить значения.
С уважением, ПК