所以我在页面中有这个:
< apex:commandButton id="songdbabc" value="Synch from song db" action="{!sendingSign}" />
这在控制器中:
public PageReference sendingSign(){
System.debug(' message ');
return null;
}
但是每次按下按钮,“&#34; Log&#34;”中都没有任何消息。我的意思是行动没有执行,任何想法?
答案 0 :(得分:0)
你有另一个同名的变量或函数吗?我的意思是public String sendingSign {get; set;}
或者public String getSendingSign()
?这些会“影响”你的动作功能。在<apex:page>
标记中是否有多个控制器扩展名?他们将从右到左检查匹配的函数名称(所以如果你有几个类,那么它可能会调用你没有看过的类的匹配)
打开浏览器的JS控制台/网络面板,查看点击按钮时是否记录了任何流量...
答案 1 :(得分:0)
尝试将您的sendingSign方法更改为:
public void sendingSign(){
System.debug(' message ');
}
重新检查你的日志。
答案 2 :(得分:-1)
编辑:已修复!从我的扩展程序中删除了“静态”变量;清除所有不良行为。
原始: 我只需要建立一个stackoverflow帐户,这样我就可以在这里泄气。我遇到了同样的问题,发现如果我在同一页面上包含一个选择列表,它只会跳过我的操作。我从来没有这个问题。
此页面运行操作,但不包括我想要的选择列表:
<apex:page standardController="Checklist_Template_Item__c" recordSetVar="Checklist_Template_Items__r" extensions="ChecklistTemplateItemMassApply">
<apex:form >
<apex:pageBlock >
<apex:commandButton action="{!myCustomAction}" value="Append/Remove" />
<apex:commandButton action="{!cancel}" value="Cancel"/>
<apex:variable value="{!appendValue}" var="appendValue"/>
<apex:variable value="{!selection}" var="selection"/>
<apex:pageBlockSection >
Include your selected items for select machine models.
<apex:inputText value="{!appendValue}"/>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
此页面完全跳过该操作,但包含我的选择列表:
<apex:page standardController="Checklist_Template_Item__c" recordSetVar="Checklist_Template_Items__r" extensions="ChecklistTemplateItemMassApply">
<apex:form >
<apex:pageBlock >
<apex:commandButton action="{!myCustomAction}" value="Append/Remove" />
<apex:commandButton action="{!cancel}" value="Cancel"/>
<apex:variable value="{!appendValue}" var="appendValue"/>
<apex:variable value="{!selection}" var="selection"/>
<apex:pageBlockSection >
Include your selected items on certain machine models.
<apex:inputText value="{!appendValue}"/>
<apex:pageBlockSectionItem >
<apex:outputText value="Why tho"/>
<apex:selectList size="1" value="{!selection}" required="true">
<apex:selectOptions value="{!applyRemove}"/>
</apex:selectList>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
是否具有页面构造函数,包括选择列表时,动作不会运行:
扩展v1:
public without sharing class ChecklistTemplateItemMassApply{
public static String appendValue{get;set;}
public static String selection{get;set;}
public static List<SelectOption> applyRemove{get;set;}
ApexPages.StandardSetController setCon;
public ChecklistTemplateItemMassApply(ApexPages.StandardSetController myController){
setCon = myController;
List<String> addList = new List<String>{'Applies_To__c'};
setCon.addFields(addList);
system.debug('addList = '+addList);
applyRemove = new List<SelectOption>();
applyRemove.add(new SelectOption('','--None--'));
applyRemove.add(new SelectOption('Include','Include'));
applyRemove.add(new SelectOption('Remove','Remove'));
}
public ApexPages.pageReference myCustomAction(){
system.debug('hey');
PageReference returnPage = new PageReference(ApexPages.currentPage().getParameters().get('retURL'));
system.debug('returnPage = '+returnPage);
return returnPage;
}
}
扩展V2:
public without sharing class ChecklistTemplateItemMassApply{
public static String appendValue{get;set;}
public static String selection{get;set;}
public static List<SelectOption> applyRemove{get;set;}
ApexPages.StandardSetController setCon;
public ChecklistTemplateItemMassApply(ApexPages.StandardSetController myController){
setCon = myController;
List<String> addList = new List<String>{'Applies_To__c'};
setCon.addFields(addList);
system.debug('addList = '+addList);
applyRemove = new List<SelectOption>();
applyRemove.add(new SelectOption('','--None--'));
applyRemove.add(new SelectOption('Include','Include'));
applyRemove.add(new SelectOption('Remove','Remove'));
}
public void ApexPages.pageReference myCustomAction(){
system.debug('hey');
}
}