<apex:commandbutton> not working </apex:commandbutton>

时间:2012-12-07 11:38:20

标签: salesforce

我正在按钮。

我的组件代码如下。

<apex:commandButton action="{!sendAction}" 
value="SEND" styleClass="Button" rerender="messageId" immediate="true"/>

<apex:outputpanel rendered="{!showmsg}" id="messageId">
            <apex:outputtext value="{!outputMessage}" style="color:red;font-size:13px;font-weight:bold;"/>
            <br />    
        </apex:outputpanel> 

我的控制器代码如下。

public PageReference sendAction()
{ 
    showmsg=true;                     
    outputMessage='working';             
     return null;                        
 }

但是我的动作方法sendAction没有被调用。 当我打开包含在新窗口中的页面时,函数被调用。但是在同一个窗口中它没有被调用。

任何帮助都非常感谢。

2 个答案:

答案 0 :(得分:2)

如果,正如Matthew已经暗示你的控制器是由你的页面或组件引用的,我相信它可能是由showmsg变量引起的。

如果由于showMsg最初为false而未呈现messageId outputpanel,则它也不会重新呈现,从而不会显示您的消息。如果我是对的,以下内容会更有意义,并解决您的问题。

<apex:outputpanel  id="messageId">
        <apex:outputtext rendered="{!showmsg}" value="{!outputMessage}" style="color:red;font-size:13px;font-weight:bold;"/>
        <br />    
    </apex:outputpanel> 

答案 1 :(得分:0)

如果<apex:commandButton><apex:commandLink>似乎没有调用顶点控制器方法,您可以尝试以下方法。

  1. 尝试为这两个设置属性immediate = true。这在某些情况下有效。

  2. 尝试使用<apex:actionFunction>调用apex控制器方法。

  3. 如果您仍然无法使用<apex:actionFunction>调用顶点控制器方法,请参阅this链接。