LinkButton und Load


pontifex

Mitglied
Hallo NG,
Hallo Leute,
ich habe hier eine ascx Seite gemacht. In dieser Seite sind zwei Panels drin. Das erste Panel wird im Page_Load auf Visible = false gesetzt.

Im zweiten Panel ist ein LinkButton, der das 1 Panel wieder auf Visible = true setzen soll.

Wenn ich nun teste, dann wird die gesamte asxc Seite neu geladen und der ursprügnlcihe Text erscheint, das Panel wird aber nicht auf Visible gesetzt. was mache ich falsch?

hier der Code:
Code:
private void Page_Load(object sender, System.EventArgs e)
        {
            Panel1.Visible = false;
        }
und
Code:
 private void LinkButton_Click(object sender, System.EventArgs e)
        {
            Panel1.Visible = true;
           
            TextBox1.Width = Unit.Percentage(90);
            TextBox2.Width = Unit.Percentage(90);
            TextBox3.Width = Unit.Percentage(90);
            TextBox4.TextMode = TextBoxMode.MultiLine;
            TextBox4.Height = Unit.Pixel(150);
            TextBox4.Width = Unit.Percentage(90);
            TextBox5.Text = "(falls vorhanden)";
            TextBox5.Font.Italic = true;
        }
Ciao
PM
 

derAlex

Mitglied
Hallo,

das ist ein typischer Fehler. Bei dem KLick wird die Seite neu geladen (reload)...wenn die Seite geladen wird, wird aber Dein Panel auch wieder auf visible = false gesetzt. Das heisst Du brauchst eine Unterscheidung, ob es sich um einen Postback handelt oder das initiale Laden der Seite. Demnach muss in Dein PageLoad:

Code:
if (Page.IsPostBack == false){ Panel1.visible = false }
Vielleciht wäre es Sinnvoll das Steuerelement in den Eigenschaften auf false zu setzen, damit dieser Schritt nicht mehr notwendi ist!

Gruß

Alex
 
Zuletzt bearbeitet: