将CSS样式应用于asp内容

时间:2013-08-06 15:58:06

标签: html asp.net css

我可以使用

将CSS样式应用于html链接
<link href="css/style.css" rel="stylesheet" type="text/css" />
<a href="/members/Default.aspx" id="loginCss">Login</a>

是否可以将相同的CSS样式ID loginCSS应用于以下控件?

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

我尝试了以下

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

,提供错误'loginCSS' is not a valid identifier.

5 个答案:

答案 0 :(得分:3)

在你的CSS中,我猜你有一个基于控件名称的样式:

#loginCss{

   //Your styles here

}

如果您将其更改为基于班级名称:

.NewLoginCss{

   //Your styles here

 }

您可以使用.NET CssClass和HTML class属性在多个位置引用它:

<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 :(得分:3)

您可能希望避免在处理.NET Web控件时使用ID,因为ID最终会显示如下内容:ct100_blahblah_controlName_blahblah

所以只需在超链接控件中使用CssClass属性:

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

你的CSS将是:

.className { color: FFF; }

答案 2 :(得分:1)

我相信ID在旧版本的.NET中是非常保留的,这就是为什么许多后端开发人员更喜欢他们的前端伙伴使用css类。

您可以查看如何在元素上应用这些元素,但我相信它的CssClass="classname"

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

答案 3 :(得分:1)

当你添加“runat ='server'”时 所有ID都将以ContentPlaceHolder _

为前缀

所以如果在服务器端之前你的id是“bla” 它将是“ContentPlaceHolder_bla” 这就是你应该在客户端用于选择器的名称。 从服务器端,元素仍将以旧名称提供。

答案 4 :(得分:0)

您不能拥有两个ASP.Net控件的相同ID。还有其他方法可以实现您的目标。更好的方法是使用CssClass属性。