2014-02-16 41 views
1

請幫我...我的aspx頁面:Ext.net變化專門委員會BodyCls背後

<head runat="server"> 
<title></title> 
<style type="text/css"> 
    .notApprovedComment 
    { 
     background-color:#FFF8C1; 
    } 
    .ApprovedComment 
    { 
     background-color:#FFFFFF; 
    } 
</style> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <div> 
      <ext:ResourceManager runat="server" ID="rc1" ViewStateMode="Enabled"> </ext:ResourceManager> 
      <ext:Panel runat="server" ViewStateMode="Enabled" ID="pnlTest" Title="Comment" Width="655" BodyCls="notApprovedComment"> 
       <Content> comment </Content> 
      </ext:Panel> 
      <ext:Button runat="server" ViewStateMode="Enabled" ID="btnTest" Text="salam"> 
       <DirectEvents> 
        <Click OnEvent="btnTest_Click" ViewStateMode="Enabled" ></Click> 
       </DirectEvents> 
      </ext:Button> 
     </div> 
    </form> 
</body> 

和後面的代碼是:

protected void Page_Load(object sender, EventArgs e) 
{ 

} 
[DirectMethod] 
protected void btnTest_Click(object sender, DirectEventArgs e) 
{ 
     btnTest.Text = btnTest.Text + " edited"; 
     if (pnlTest.BodyCls == "ApprovedComment") 
      pnlTest.BodyCls = "notApprovedComment"; 
     else if (pnlTest.BodyCls == "notApprovedComment") 
      pnlTest.BodyCls = "ApprovedComment"; 
} 

但是當點擊分機:按鈕。 .. pnlTest.BodyCls更改只有一次,如果我再次點擊ext:buttonpnl.BodyCls不會改變!但ext:button正常工作!

回答

1

C#

[DirectMethod] 
protected void btnTest_Click(object sender, DirectEventArgs e) 
{ 
    btnTest.Text = btnTest.Text + " edited"; 
    X.Js.Call("triggerClass"); 
} 

的JavaScript(變體)

function triggerClass(){ 
    var panel = Ext.getCmp('pnlTest'); 
    if(Ext.select('.ApprovedComment').getCount() > 0) 
     panel.removeBodyCls('ApprovedComment'); 
    else 
     panel.addBodyCls('ApprovedComment'); 
} 

這裏是客戶端示例http://jsfiddle.net/9LnYR/1/