[ASP.NET] AddStyleAttribute() doet niets?

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Ik heb bezig met een webforms control, een treeview wel te verstaan. In die treeview moet een style-attribute aan de elementen toegekend worden, en dat doe ik in de RenderContents methode met de AddStyleAttribute van de HtmlTextWriter class. In Internet Explorer werkt dit prima. Nu open in dezelfde pagina in Opera of Mozilla, en staat die hele style attribute er niet bij!

Hiermee ken ik een style attribute toe:
C#:
1
2
writer.AddStyleAttribute("display", "none");
writer.RenderBeginTag("span");


In Internet Explorer:
HTML:
1
<span style="display: none">
In Opera/Mozilla:
HTML:
1
<span>
Ik weet dat ik ook wel zoiets kan doen:
C#:
1
writer.AddAttribute("style", "display:none");
Maar das niet zo netjes, en styles zijn dan ook niet erg makkelijk dynamisch op te bouwen.

Dus, waar komt dit gedrag vandaan en hoe los ik het netjes op?

日本!🎌


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Dan moet je even hier kijken. Het komt erop neer dat Mozilla als een oude browser herkend wordt.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
He ja dat lost het inderdaad op _/-\o_

Maar nu wil ik eigenlijk nog steeds wel weten waar dat gedrag vandaan komt...

日本!🎌


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

_Thanatos_ schreef op 25 juni 2003 @ 14:50:
He ja dat lost het inderdaad op _/-\o_

Maar nu wil ik eigenlijk nog steeds wel weten waar dat gedrag vandaan komt...
Oude browser kennen deze wijze van style toevoegen niet, dus wordt het genegeerd ivm compatibiliteit.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Het is niet de browser die het moet ondersteunen, het is gewoon mijn applicatie die HTML uitpoept. Ik snap gewoon niet waarom er in het uitpoepen onderscheid in browsers gemaakt wordt... ik bepaal toch zeker zelf wel wat er naar de clients gestuurd wordt?

日本!🎌


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

_Thanatos_ schreef op 25 June 2003 @ 15:00:
Het is niet de browser die het moet ondersteunen, het is gewoon mijn applicatie die HTML uitpoept. Ik snap gewoon niet waarom er in het uitpoepen onderscheid in browsers gemaakt wordt... ik bepaal toch zeker zelf wel wat er naar de clients gestuurd wordt?
Maar daar houdt je applicatie wel rekening mee. Dat is een van de dingen die ASP.net zelf regelt, compatibiliteit. Als een browser allen HTML 3.2 ondersteunt, dan zal ASP.Net alleen HTML 3.2 compatible zooi uitspuigen.

Dat ASP.Net een bug heeft, en daardoor Opera ook niet als een 'oude' browsers, welke nieuwe zaken niet ondersteunt, is een ander probleem.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1