我在visualforce页面上有一个代码,它显示指定用户的特定记录。此代码是IF-ELSE方案,假设只有两个指定的用户。但是,我想为不同的记录指定10个不同的用户。有人可以帮帮我吗?
现有代码
/************** Visualforce page *****************/
<apex:page controller="myClass" action="{!redirect}" >
</apex:page>
/************* Controller ***********************/
public with sharing class myClass{
public string uId;
public myClass(){
uId = UserInfo.getUserId();
}
public pageReference redirect(){
PageReference pageRef = new PageReference('URL1');
pageRef.setRedirect(true);
if(uId == 'firstOption'){
pageRef.setRedirect(true);
return pageRef;
}else{
pageRef = new PageReference('URL2');
pageRef.setRedirect(true);
return pageRef;
}
}
}
答案 0 :(得分:0)
如果您要让多个用户访问该页面,则可以创建Hierarchy Custom Setting来存储每个用户的URL。这样,您就可以使用可配置的方式维护列表,而无需更新/重新部署代码。
首先创建自定义设置,对于此示例,我们将其称为&#34;用户重定向&#34;(User_Redirect__c
),并使其成为层次结构类型。给它一个名为&#34;重定向URL&#34;(Redirect_Url__c
)的自定义文本字段。
完成后,单击“管理”按钮,然后可以为“用户”(和/或“个人档案”)添加单个记录。确保创建一个默认的组织范围的记录也是一个全部记录。
现在,在您的控制器中,您只需要参考自定义设置。
//the system will automatically grab the record for the user if one exists,
//else a for their profile if a record exists, else the org-default
String url = User_Redirect__c.getInstance().Redirect_Url__c;
PageReference pageRef = new PageReference(url);
//this is implied if redirecting to a different url. you only ever need to set
//this if you are refreshing the current page and want to reset the state
//pageRef.setRedirect(true);
return pageRef;