Syntax VisualForce IF语句-需要知道“的语法”;或;
我需要使用“或”逻辑的正确VisualForce语法的帮助。我使用的代码是:Syntax VisualForce IF语句-需要知道“的语法”;或;,syntax,salesforce,visualforce,Syntax,Salesforce,Visualforce,我需要使用“或”逻辑的正确VisualForce语法的帮助。我使用的代码是: <apex:page action="{!if($User.Alias !='Item1', null, urlFor($Action.Account.Delete, $CurrentPage.Parameters.id, [retURL='/001'], true) ) }" standardController="Account"> <apex:pag
<apex:page action="{!if($User.Alias !='Item1',
null,
urlFor($Action.Account.Delete, $CurrentPage.Parameters.id, [retURL='/001'], true)
)
}"
standardController="Account">
<apex:pageBlock >
<apex:PageMessage summary="You are not allowed to delete Accounts"
severity="Warning"
strength="3"/>
<apex:pageMessages />
</apex:pageBlock>
</apex:page>
我需要使用“或”逻辑指定多个项,以便在任何指定的“项”为true时对IF语句求值。我打算这样做,但我不知道正确的语法是什么:
{!if($User.Alias !='Item1', OR 'Item2', OR 'Item3',
谢谢你的帮助和耐心 您可以使用逻辑运算符或公式函数执行此操作 这就是我所说的“程序员语法”,因为它使用管道(
|
)和符号(&&
);操作符对于开发人员来说更容易阅读
IF($User.Alias = 'JohnDoe' || $User.Alias = 'JBloggs' || $User.Alias = 'FooBar',
value_if_true,
value_if_false
)
您还可以使用“Excel语法”,其中有或()
函数,可以接受任意数量的参数
IF(OR($User.Alias = 'JohnDoe', $User.Alias = 'JBloggs', $User.Alias = 'FooBar'),
value_if_true,
value_if_false
)
$Profile
,$UserRole
或在用户记录上创建一些复选框字段,使其仅可供系统管理员编辑编辑(关于
!
和!=
的评论)
我使用的第一个链接中提到了它;)
=代码>有时程序员用
来写“不等于”。它看起来很像“斜线等号”(≠) 但不需要记住该字符的一些奇怪的代码。这种约定在许多编程语言中都非常统一
就您而言,公式和Visualforce表达式的语法可以互换使用:
=
和=
表示“相等”
!=
和
表示“不等于”(后者也适用于Excel)
所以如果你写if($User.Alias='JohnDoe','Allow','Deny')
你的意思是只有他会看到“Allow”
还有一件事可能会让你困惑——否定运算符:!
站在任何表达式前面都会转换为true↔ false。这也可以通过在NOT(此处的一些真/假表达式)
中包装所需的表达式来实现
(表示合并字段开始的感叹号并不表示为否定。因此,{!some expression}
仅表示该表达式的逻辑(或数字或文本)值。若要对其进行否定,请执行{!!expression}
或{!not(expression)}
非常感谢!这正是我所需要的。实际上我还有一个后续问题,非常感谢您的时间!$User.Alias!='Item1'和$User.Alias='Item1'之间有什么区别?在我看来,!的意思是“除了这个家伙以外的任何人”,而不是使用!的意思是“这些家伙”“。换句话说:原始代码被截断,用于指定我希望能够删除的别名,它使用了!。我使用了您的版本,但没有!我现在指定了我不希望能够删除的用户。我是正确的,还是偏离了轨道?(我也按照您的建议使用$UserRole。)酷:)感谢您的接受,并祝您在visualforce世界取得成功;)如果您对SF(与管理相关,不一定是编程;我们可以争论公式语法是管理内容的一部分)有更多的一般性问题,请尝试一下salesforce.stackexchange.com。
IF(OR($User.Alias = 'JohnDoe', $User.Alias = 'JBloggs', $User.Alias = 'FooBar'),
value_if_true,
value_if_false
)