为帐户对象创建VF页面“注册表单”是Salesforce

时间:2017-07-12 13:35:57

标签: salesforce visualforce apex force.com sfdc

我有以下要求创建VF页面 - '注册表'

1. 名称字段

2. 附件区域 - 我们可以在那里浏览和添加任何文档

预期用户界面 - UI

以下是我的VF代码 -

    <apex:page standardController="Account" extensions="InputFileControllerExtension"> 
    <apex:messages /> 
    <apex:form id="theForm"> 
        <apex:pageBlock >
            <apex:pageBlockSection columns="2" showHeader="true" title="Personal Details" >
                <apex:inputField value="{!Account.Name}" />
            </apex:pageBlockSection>
            <apex:pageBlockSection >
                <apex:inputFile value="{!attachment.body}" filename="{!attachment.name}"/>
                <apex:commandButton value="Upload and save" action="{!save}"/> 
            </apex:pageBlockSection> 
            </apex:pageBlock> 
    </apex:form> 
</apex:page>

以下是APEX类 -

    public class InputFileControllerExtension
{
    private final Account acct;
    public Attachment attachment {get;set;}
    public PageReference save()
    {
        attachment.parentid = acct.id;
        insert attachment;
        return stdController.save();
    }
    public InputFileControllerExtension(ApexPages.StandardController stdController)
    { 
        attachment = new Attachment();
        this.acct = (Account)stdController.getRecord();
        this.stdController = stdController;
    } 
    ApexPages.StandardController stdController;
}

我遇到错误 -

  

插入失败。第0行的第一个例外;第一个错误:REQUIRED_FIELD_MISSING,缺少必填字段:[Parent]:[Parent]   错误在页面file_upload_test中的组件中的表达式“{!save}”中:Class.InputFileControllerExtension.save:第8行,第1列

你可以帮我解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

为什么要在save()方法结束时保存帐户记录?为什么不直接使用

查看它
stdController.view()