2017-02-02 6 views
-2

Ich weiß, dass dies eine so einfache Lösung sein wird, aber aus irgendeinem Grund kann ich diese Methode nicht in C# arbeiten. Ich möchte einfach einen Booleschen Test durchführen, um zu sehen, ob eine ASP-Tabelle sichtbar ist. Ist dies der Fall, setzen Sie visible auf false, sonst setzen Sie visible auf true.Testen, ob ASP-Tabelle sichtbar ist

Was wäre die korrekte Syntax für diesen Test?

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

Auf einer zusätzlichen Anmerkung, ich bin mit ASP 4.5

+0

was passiert jetzt? Können Sie den Steuercode posten? –

+0

Haben Sie diesen Code tatsächlich getestet? Hat es nicht wie erwartet funktioniert? – mason

+0

Sie stoßen wahrscheinlich auf 'PostBack' Problem Sie sind vertraut mit PostBacks und wie man den Debugger benutzt ..? Sie setzen es wahrscheinlich und wenn das Postback passiert, wird es wieder auf True in Bezug auf die Sichtbar gesetzt – MethodMan

Antwort

1

Erstens: wie in den Kommentaren erwähnt, müssen Sie nicht diese Codes fo schreiben Eine so einfache Aktion. Es ist genug tblMaterialDetails.Visible = !tblMaterialDetails.Visible;

Zweitens: Ihr Code ist wahr und es ist unmöglich, dass nicht funktioniert. Also check mal was, vielleicht hast du OnClick="btnNewMaterial_Click" in deiner Taste entfernt. Und wenn Sie im Debug-Modus sehen, dass Methoden ausgelöst werden, haben Sie wahrscheinlich einige Anweisungen zur Tabellensichtbarkeit in Ihrem Page_Load. Eine Sache, die manchmal vergessen ist, ist: Page_Load funktioniert nach Button_Click

+0

Danke für den Tipp! Ich habe nicht bemerkt, dass das Ereignis Page_Load jedes Mal ausgelöst wird, wenn ich das Ereignis Button_Click drücke. Ich habe einfach die Annahme gemacht, dass das Form_Load-Ereignis in VBA funktioniert. –

+0

Sie sind willkommen. Ich bin froh, dass es dir geholfen hat. –

1

Dies sollte man das Ergebnis, die Sie

bool isVisible = tblMaterialDetails.Visible; 

es brauchen wird zeigen, ob es oder ist Ihr nicht sichtbar, so wenn Bedingung könnte sein

if (tblMaterialDetails.Visible) 
{ 
    // your code here 
} 
Verwandte Themen