2013-08-06 2 views
0

Je peux appliquer un style CSS à un lien HTML en utilisantAppliquer le style CSS asp contenu

<link href="css/style.css" rel="stylesheet" type="text/css" /> 
<a href="/members/Default.aspx" id="loginCss">Login</a> 

Est-il possible d'appliquer le même identifiant style CSS loginCSS au contrôle suivant?

<div class="buttonCSS"> 
     <asp:HyperLink ID="HyperLink1" runat="server" 
     NavigateUrl="~/Admin/Default.aspx" >Login as Admin</asp:HyperLink> 
    </div> 

J'ai essayé les suivantes

<asp:HyperLink ID="loginCss" runat="server" 
NavigateUrl="~/Members/Default.aspx" >Login as Member</asp:HyperLink> 

qui donne erreur 'loginCSS' is not a valid identifier.

Répondre

3

Dans votre css, je devine que vous avez un style basé sur les noms de contrôle:

#loginCss{ 

    //Your styles here 

} 

Si vous changez à être basé sur le nom de la classe:

.NewLoginCss{ 

    //Your styles here 

} 

vous pouvez référencer dans mult IPLE endroits en utilisant .NET CssClass et HTML class attributs:

<a href="/members/Default.aspx" id="loginCss" class="NewLoginCss">Login</a> 

<asp:HyperLink ID="loginCss" runat="server" 
    NavigateUrl="~/Members/Default.aspx" 
    CssClass="NewLoginCss">Login as Member</asp:HyperLink> 
1

Je crois que les ID sont assez réservés dans les anciennes versions de .NET qui est la raison pour laquelle de nombreux développeurs de back-end préfèrent leur front -end amis d'utiliser des classes css à la place.

Vous pouvez rechercher comment appliquer les sur vos éléments, mais je crois que son CssClass="classname"

<asp:HyperLink ID="" CssClass="loginCss" runat="server" 
NavigateUrl="~/Members/Default.aspx" >Login as Member</asp:HyperLink> 
3

Vous voulez probablement éviter d'utiliser des ID lorsqu'ils traitent avec des contrôles Web .NET comme les ID finissent par regarder quelque chose comme: ct100_blahblah_controlName_blahblah

Donc il suffit d'utiliser l'attribut CssClass dans le contrôle Hyperlink:

<asp:Hyperlink ID="hyp1" CssClass="className" /> 

Et votre CSS serait:

.className { color: FFF; } 
0

Vous ne pouvez pas avoir le même ID de deux contrôles ASP.Net. Il existe d'autres moyens d'atteindre votre objectif. Une meilleure approche consiste à utiliser l'attribut CssClass.

1

lorsque vous ajoutez « « serveur » runat = » tous les ids seront préfixés par ContentPlaceHolder_

si ur id avant côté serveur était « bla » il sera « ContentPlaceHolder_bla » et c'est le nom u devrait utiliser pour les sélecteurs du côté client. côté serveur, les éléments seront toujours disponibles sous leur ancien nom.

+0

Ce n'est pas une bonne approche, surtout dans le cas de Css, car on pourrait avoir un espace de contenu imbriqué et des identifiants deviennent assez complexes dans ce cas. –

+0

convenu. mais c'est la procédure standard pour récupérer l'ID du côté client si le contrôle s'exécute sur le serveur. – Kirka121

Questions connexes