我可以使用
将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.
答案 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属性。