2016-03-29 13 views
1

私はオブジェクトタイプがImageButtonです。また、私は、コードを次ていますブール変数が更新されていません

LogManager.GetCurrentClassLogger().Log(LogLevel.Info, "###payWithVisa.Enabled ={0}; payWithVisa.Visible ={1}; canPayWithCard={2}", payWithVisa.Enabled, payWithVisa.Visible, canPayWithCard); 

payWithVisa.Enabled = canPayWithCard; 
payWithVisa.Visible = canPayWithCard; 

LogManager.GetCurrentClassLogger().Log(LogLevel.Info, "payWithVisa.Enabled ={0}; payWithVisa.Visible ={1}; canPayWithCard={2}", payWithVisa.Enabled, payWithVisa.Visible, canPayWithCard); 

これは、対応するログエントリです:

2016-03-29 11:37:49.1308|INFO|###payWithVisa.Enabled =True; payWithVisa.Visible =False; canPayWithCard=True 
2016-03-29 11:37:49.1348|INFO|payWithVisa.Enabled =True; payWithVisa.Visible =False; canPayWithCard=True 

あなたは、変数payWithVisa.Visibleが更新されないことがわかります。値がtrueの変数を代入しても、それでもfalseです。

誰かが間違っていることを明確にするのに手伝ってください。

PS。 .NETフレームワークを使用:4.0

+0

変数定義をチェック/表示して、それらがブール型であることを確認できますか? – navigator

答えて

5

一つの可能​​性を(MSDN上documentationから):

コンテナコントロールがレンダリングされていない場合、それはあなたがVisibleプロパティを設定していてもレンダリングされません含まれていることを任意のコントロールを個々のコントロールを真にする。その場合、明示的にtrueに設定していても、個々のコントロールはVisibleプロパティに対してfalseを返します。親コントロールのVisibleプロパティがfalseに設定されている場合、子コントロールはその設定を継承し、その設定はローカル設定よりも優先されます。

したがって、親コントロール最初にレンダリングされました。

+0

これは本当です。ありがとうございました。 –

関連する問題