2017-02-02 13 views
-2

これは簡単な解決策になると思いますが、何らかの理由でこのメソッドをC#で動作させることはできません。ブール・テストを実行して、ASP表が表示されているかどうかを確認するだけです。そうであれば、visibleをfalseに設定し、それ以外の場合はtrueをtrueに設定します。ASPテーブルが表示されているかどうかのテスト

このテストで正しい構文は何でしょうか?補足ノートで

protected void btnNewMaterial_Click(object sender, EventArgs e) 
{ 
    if (tblMaterialDetails.Visible==true) 
    { 
     this.tblMaterialDetails.Visible = false; 
    } 
    else 
    { 
     this.tblMaterialDetails.Visible = true; 
    } 
} 

、私はこれは、あなたがそれがあれば、あなたのようであるか表示されていない場合、それは教えてくれます

bool isVisible = tblMaterialDetails.Visible; 

を必要とする結果を与えるべきASP 4.5

+0

今何が起こっていますか?あなたはコントロールコードを投稿できますか? –

+0

実際にこのコードを試しましたか?期待どおりに動作しませんでしたか? – mason

+0

あなたはおそらく 'PostBack'問題に遭遇しています。あなたはPostBacksとデバッガの使い方に慣れていますか?あなたはおそらくそれを設定しており、ポストバックが起きたときにVisible – MethodMan

答えて

1

最初に:コメントに記載されているように、このコードを書く必要はありませんこのような単純な行動。十分ですtblMaterialDetails.Visible = !tblMaterialDetails.Visible;

第2:あなたのコードは真であり、動作しないことは不可能です。だからいくつかのことを確認してください。ボタンの中でOnClick="btnNewMaterial_Click"を削除したことがあります。また、デバッグモードでメソッドの起動が表示された場合は、Page_Loadにテーブルの可視性に関する指示があります。何度か忘れられることの1つは次のとおりです。Page_LoadはButton_Clickの後に動作します

+0

チップをありがとう! Button_Clickイベントが発生するたびにPage_Loadイベントが発生することはわかりませんでした。私はVBAのForm_Loadイベントがうまくいくと仮定しました。 –

+0

よろしくお願いいたします。それがあなたを助けてくれてうれしいです。 –

1

を実行しています条件は

if (tblMaterialDetails.Visible) 
{ 
    // your code here 
} 
関連する問題