我在 Salesforce 中创建了一个 Visualforce 页面来替换机会标准对象的“新建”表单。代码是:
<apex:page standardController="Opportunity" lightningStyleSheets="true">
<apex:sectionheader title="Opportunity" subtitle="New"></apex:sectionheader>
<apex:form>
<apex:pageblock title="" mode="edit">
<apex:pageMessages/>
<apex:pageblockbuttons location="top">
<apex:commandbutton value="Save" action="{!create}"></apex:commandbutton>
<apex:commandButton action="{!cancel}" value="Cancel" immediate="true"/>
</apex:pageblockbuttons>
<apex:pageblocksection title="General Information">
<apex:inputfield value="{!Opportunity.Name}"/>
</apex:pageblocksection>
</apex:pageblock>
</apex:form>
</apex:page>
页面呈现良好:
但是,我在提交时收到“无法访问页面”错误,其中指出:“您缺少尝试访问的页面所需的信息。如果您认为这是一个错误,请刷新屏幕。如果错误仍然存在,请将其报告给我们的客户支持团队,并提供您请求的页面的 URL 以及任何其他相关信息。”
我检查了开发者控制台以获取线索。虽然我确实在日志中看到了提交,但它仅表明成功,但没有提供任何有意义的线索来进一步调查。
我还检查了我的个人资料,看看 Visualforce 页面是否可以访问,确实可以访问。
我还可以研究什么?
没有名为
create
的标准控制器操作(https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_pages_standardcontroller.htm#apex_ApexPages_StandardController_methods)。
您想使用标准
save
或插入您自己的 Apex 类(可能作为扩展)并在那里定义 create
?