首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SFDC -将输入传递到URLFOR

SFDC -将输入传递到URLFOR
EN

Stack Overflow用户
提问于 2012-10-13 07:27:11
回答 2查看 5.2K关注 0票数 0

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

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

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

有没有人知道如何在apex中通过URLFOR传递变量输入?

谢谢你的帮助。

岩屑

EN

回答 2

Stack Overflow用户

发布于 2012-10-14 15:59:25

是的,您正确地使用了URLFOR函数。

使用

代码语言:javascript
复制
<apex:outputLink value="{! URLFOR( $Action.Account.New, null, [acc2='Acme'] ) }">New Account</apex:outputLink>

我可以使用Acme作为帐户名称加载帐户屏幕。

我认为问题在于获取name的调用返回的是null或空白,因此它似乎没有对Name字段应用任何内容。

在您的控制器中,您应该有一个属性,使您能够访问工作记录。获取如下示例所示的名称。

控制器

代码语言:javascript
复制
Object__c MyCustomObject {get;set;}

页面

代码语言:javascript
复制
<apex:outputLink value="{! URLFOR( $Action.Account.New, null, [acc2=MyCustomObject.Name] ) }">New Account</apex:outputLink>

如果不能正常工作,请尝试更改为acc2='MyCustomObject.Name‘等

票数 1
EN

Stack Overflow用户

发布于 2017-03-28 00:48:31

要获得更通用的解决方案,您可以使用:$ URL when actionName是字符串变量(来自apexclass或自定义设置)可以是:视图:显示对象的详细页编辑:在编辑模式下显示对象删除:用于删除对象的Action.Account[]新建: URL创建对象的新记录标签:指向对象主页的URL

我们还可以通过将对象名更改为变量来实现更一般的操作

$ActionobjectName

例如: VFP:

代码语言:javascript
复制
<apex:page standardController="Account" extensions="urlForParamCTRL"
           action="{!urlFor($Action[objectName][actionName],account.Id, null, true)}">
</apex:page>

顶点类:

代码语言:javascript
复制
public class urlForParamCTRL {
    Public String objectName {get;set;}
    Public String actionName {get;set;}
    public urlForParamCTRL(ApexPages.StandardController controller)
    {
        this.objectName = 'Account';
        this.actionName = 'New';
    }
}

参考:https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_dynamic_vf_globals_action.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12868425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档