Applicare ad un id con runat=server un attributo di stile senza usare ...

sabato 30 dicembre 2006 - 16.02

Giovanni_3478 Profilo | Senior Member

Ciao

Quando abbiamo


<style type=text/css>
#a1{color:#000; textdecoration:none; backgroundcolor:ffcc33;}
</style>

<a id="a1" runat="server">prova</a>


lo stile a1 non viene applicato al tag a
perchè l'id, avendo la proprietà runat=server,
viene cambiato in fase di rendering.

C'è un modo per applicare ad un id con runat=server
un attributo di stile
senza usare la classe?

freeteo Profilo | Guru

ciao,
si puoi sfruttare un trucchetto che ho spiegato qui:
http://blogs.dotnethell.it/freeteo/Post_7505.aspx

che adattato al tuo esempio sarebbe:
<%@ Page Language="C#" %> <html > <head runat="server"> <title>Untitled Page</title> <style type="text/css"> #<%= a1.ClientID %> { color:#000000; text-decoration:none; background-color:#ffcc33;} </style> </head> <body> <form id="form1" runat="server"> <div> <a id="a1" runat="server">prova</a> </div> </form> </body> </html>

ps: nel tuo esempio c'e' del codice css sbagliato ("backgrundcolor" non esiste, il corretto è "background-color" ovvero manca il trattino) percui il browser on lo renderizza corretemente.
Cmq io l'ho postato corretto, tu prova a controllare il tuo...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Giovanni_3478 Profilo | Senior Member

In effetti si usa lo stesso trucchetto che si usa per javascript

Io avevo provato ad usarlo pure per i fogli di stile ma mi restituiva un errore.

Ora ho riprovato ad usarlo dietro tuo input.

Per far sì che non restituisca errori,
bisogna aggiungere runat=server a style, quindi:
<style type="text/css" runat="server">

Te ne sarai dimenticato

freeteo Profilo | Guru

si diciamo che il mio esempio è creato "statico" per solo quella pagina poi ovviamente se lo usi in una MasterPage, oppure in qualche controllo web, dove in entrambi i casi i path relativi possono cambiare, allora il tag "runat=server" si preoccupa lui di generare i percorsi virtuali corretti.
In quel caso allora giustamente come dicevi tu ci va!
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5