App_Themes

giovedì 08 aprile 2010 - 15.03

stee85 Profilo | Senior Member

Ciao a tutti,
nel mio sito ho creato 2 differenti temi (tema1 e tema2) contenenti file skin,css e cartella image
Nel datagrid vorrei far caricare il pulsate elimina, dettagli ecc.. prendendo l'immagine dalla relativa cartella image nel tema.
Fino ad ora avevo sempre scritto così:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

mettendo l'immagine in Text, ma ora dovrei via codice specificare a quale tema appartiene

App_themes/tema1/image/mod.gif

Ho provato ad aggiungere nell'ItemDataBound il seguente codice ma mi perde l'evento click

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Grazie

Ste

freeteo Profilo | Guru

Ciao,
non puoi usare i css? Se associ l'immagine come background in una classe del foglio di stile (.css) allora sei tranquillo perchè quando cambi tema cambia anche l'immagine...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

stee85 Profilo | Senior Member

>Ciao,
>non puoi usare i css? Se associ l'immagine come background in
>una classe del foglio di stile (.css) allora sei tranquillo perchè
>quando cambi tema cambia anche l'immagine...

Ho provato a fare così ma in questo modo perdo l'evento click
<asp:ButtonColumn ItemStyle-Width="10" Text="" CommandName="Edit"> <ItemStyle HorizontalAlign="Center" CssClass="editStyle"></ItemStyle> </asp:ButtonColumn>
CSS
.editStyle { background-image:url("images/mod.gif"); }
Ste

freeteo Profilo | Guru

>ho provato a fare così ma in questo modo perdo l'evento click
><asp:ButtonColumn ItemStyle-Width="10" Text="" CommandName="Edit">
><ItemStyle HorizontalAlign="Center" CssClass="editStyle"></ItemStyle>
></asp:ButtonColumn>
come fa a perdere l'evento click se gli hai impostato la CssClass...?
Devi mettere l'ItemTemplate forse...posta una pagina d'esempio che vediamo di farla funzionare...


>CSS
>.editStyle
>{
> background-image:url("images/mod.gif");
>}
>Ste
questo va bene era proprio quello che intendevo

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

stee85 Profilo | Senior Member

Grazie, questo è il mio datagrid.
Se possibile vorrei mantenere il CommandName="Edit" visto che dovrò fare questa modifica su tutti i datagrid del sito

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Ste

freeteo Profilo | Guru

Ciao,
hai 2 strade:
1) usi una colonna CommandField dove puoi specificare un po' di proprietà:
<asp:CommandField ButtonType="Link" ShowEditButton="true" ControlStyle-CssClass="edit" EditText="Modifica" />



2) la meno semplice ma la più versatile, ti fai una colonna Template e li dentro usi dei controlli classici asp.net per i bottoni, ai quali puoi dare un CommandName="Edit", ad esempio:
<asp:TemplateField> <ItemTemplate> <asp:LinkButton ID="btnModifica" runat="server" CssClass="edit" CommandArgument='<%# Eval("id") %>' CommandName="Edit" Text="Modifica" /> </ItemTemplate> <EditItemTemplate> <asp:LinkButton ID="LinkButton1" runat="server" CssClass="conferma" CommandArgument='<%# Eval("id") %>' CommandName="Update" Text="Aggiorna" /> <asp:LinkButton ID="LinkButton2" runat="server" CssClass="annulla" CommandArgument='<%# Eval("id") %>' CommandName="Cancel" Text="Annulla" /> </EditItemTemplate> </asp:TemplateField>
chiarmaente se devi portarlo su tutte le griglie io ti consiglio portarli poi in un WebControl (uno per ItemTemplate ed uno per EditTemplate) così fai prima di andare a modificarli tutti.


Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

stee85 Profilo | Senior Member

Grazie!
Ho risolto facendo così
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

SKIN
<asp:ImageButton SkinID="EditButton" ImageUrl="images/mod.gif" runat="server" />
Ste
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5