Salesforce SFDC-将输入传递到URLFOR

Salesforce SFDC-将输入传递到URLFOR,salesforce,apex-code,url-for,Salesforce,Apex Code,Url For,我目前正在尝试在Salesforce上自定义一个对象,需要创建一个操作按钮,该按钮将导致一个新的帐户编辑页面 我希望通过URLFOR函数(见下文)传递输入来预先填充新帐户页面;在我的示例中,不解释参数值 <apex:page> <apex:outputLink value="{! URLFOR( $Action.Account.New, null, [acc2='{! Object__c.Name}'] ) }">New Account</apex:output

我目前正在尝试在Salesforce上自定义一个对象,需要创建一个操作按钮,该按钮将导致一个新的帐户编辑页面

我希望通过URLFOR函数(见下文)传递输入来预先填充新帐户页面;在我的示例中,不解释参数值

<apex:page>
  <apex:outputLink value="{! URLFOR( $Action.Account.New, null, [acc2='{! Object__c.Name}'] ) }">New Account</apex:outputLink>
</apex:page>

新帐户
有人知道如何通过apex中的URLFOR传递变量输入吗

谢谢你的帮助


Crak

是的,您正在正确使用URLFOR函数

使用

页面

新账户

如果这不起作用,请尝试更改为[acc2='MyCustomObject.Name']等,以获得更通用的解决方案,您可以使用: $Action.Account[] actionName为字符串时,变量(来自apexclass或自定义设置)可以是: 视图:显示对象的详细信息页面 编辑:在编辑模式下显示对象 删除:用于删除对象的URL 新建:用于创建对象新记录的URL 选项卡:指向对象主页的URL

我们还可以通过将对象名更改为变量来实现更通用的功能

$Action[objectName][actionName]

例如: VFP:

参考:

<apex:outputLink value="{! URLFOR( $Action.Account.New, null, [acc2='Acme'] ) }">New Account</apex:outputLink>
Object__c MyCustomObject {get;set;}
<apex:outputLink value="{! URLFOR( $Action.Account.New, null, [acc2=MyCustomObject.Name] ) }">New Account</apex:outputLink>
<apex:page standardController="Account" extensions="urlForParamCTRL"
           action="{!urlFor($Action[objectName][actionName],account.Id, null, true)}">
</apex:page>
public class urlForParamCTRL {
    Public String objectName {get;set;}
    Public String actionName {get;set;}
    public urlForParamCTRL(ApexPages.StandardController controller)
    {
        this.objectName = 'Account';
        this.actionName = 'New';
    }
}