Avatar billede segato Nybegynder
12. april 2012 - 16:23 Der er 2 kommentarer og
1 løsning

Clear style runtime

Har en simpel side med to linkbuttons på. Når jeg klikker på den ene skal dens font blive fremhævet. Problemet er at kontrollen husker sin style også selv om den bliver clearet i page load:

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        LinkButton b = new LinkButton();
        b.ID = "1";
        b.Text = "sdsd";
        b.Click += b_Click;
        b.Attributes.Add("style", "");

        LinkButton b2 = new LinkButton();
        b2.ID = "2";
        b2.Text = "sdsd";
        b2.Click += b_Click;
        b2.Attributes.Add("style", "");
        b2.Attributes.Clear();
        b2.Attributes.Clear();

        this.form1.Controls.Add(b);
        this.form1.Controls.Add(b2);
    }

    void b_Click(object sender, EventArgs e)
    {
        var b = sender as LinkButton;
        b.Attributes.Add("style", "font-weight:bold;");
    }
}
Avatar billede mireigi Novice
12. april 2012 - 23:39 #1
Nu er jeg lidt rusten i ASP.NET, men jeg mener det er fordi der sker følgende:

1. Klik på knap
2. Postback til server med events og data
3. Kør Page_Load
4. Kør b_Click
5. Vis siden

Uden at være helt sikker, mener jeg der er en Page_AfterLoad event som du kan bruge.

Hvis det drejer sig om at du vil gøre teksten i knappen fed når der bliver klikket på den, er det bedre at give den en CSS class som følger:

.MyButton:active, .MyButton:focus
  {
      font-weight: bold;
  }


I din HTML kode har du så:

<asp:Button id="Button_1" CssClass="MyButton" onmouseup="this.blur();"></asp:Button>

Den vigtige del er markeret med fed.

active giver den ønskede effekt i FireFox/Chrome, mens focus gør det IE8+. Det virker med andre ord ikke i IE7 eller ældre.
Avatar billede segato Nybegynder
13. april 2012 - 07:39 #2
Din event rækkefølge er korrekt. Det jeg fandt ud af er hvis jeg clearer Css i mit button click event i stedet så virker det faktisk. Page afterload vil ikke virke for det sker efter klik event og så clearer jeg det jeg lige har sat :D Men tak for input smid bare et svar.
Avatar billede mireigi Novice
13. april 2012 - 08:41 #3
Velbekomme :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester