我知道如何返回 PageReference 来编辑和查看 sObject:
PageReference ref = new ApexPages.StandardController(bnk).edit();
但是 StandardController 类没有像 create 这样的任何方法。
如何返回页面以创建 sObject。
我也知道这样的方法:
PageReference ref = new PageReference('/a00/e');
但是sObject有很多lookup字段,这个方法不能取出引用的lookup字段,只能创建一个独立的sObject。
那么如何返回创建页面并取出引用查找字段呢?
最佳答案
我在尝试添加 Save and New 按钮时遇到了同样的问题。 StandardController 没有返回 PageReference 的 new() 方法似乎很奇怪。
如果您的 Apex 类要部署到另一个 Salesforce 组织(例如添加到出站更改集,放入托管或非托管包,或使用 Eclipse 部署),我会避免对自定义对象键前缀进行硬编码,因为这可能会改变组织之间。相反,使用DescribeSObjectResult 来获取KeyPrefix。
public PageReference customObjectPageReference() {
Schema.DescribeSObjectResult R = YourCustomObject__c.SObjectType.getDescribe();
// Add /o to end of URL to view recent
return new PageReference('/' + R.getKeyPrefix() + '/e');
}