【问题标题】:Asp.net runat="server" changes idAsp.net runat="server" 更改 id
【发布时间】:2015-08-17 14:42:14
【问题描述】:

我有以下html,需要runat="server"

<h2 class="admin-manager-table-header" runat="server" id="hdrBorrower">Borrower</h2>

然后我有以下 CSS:

.admin-manager-table-header#headerPending, .admin-manager-table-header#hdrBorrower {
    background-color: rgb(0, 176, 240);
}

由于服务器已将 id 更改为:

ctl00_body_hdrBorrower

所以我的 CSS 现在是

.admin-manager-table-header#headerPending, .admin-manager-table-header#hdrBorrower , .admin-manager-table-header#ctl00_body_hdrBorrower{
    background-color: rgb(0, 176, 240);
}

我的问题有两个:

1.服务器会一直把id改成这个,还是有时会改变id?

2.如果ID的命名一致,我在CSS样式表中使用这个ID是不是不好?

【问题讨论】:

  • 生成的ID是根据容器的ID生成的。如果您的容器保持一致,该 ID 将保持一致,但我可能会针对一个类是安全的。

标签: html css asp.net


【解决方案1】:

通常,它会根据节点在 DOM 中的位置而发生变化(如服务器在响应客户端之前所看到的那样)。 .NET 可以使用两种略有不同的算法来生成 ID。见Control.ClientIDMode

从 .NET 4.0 开始,我相信您可以使用 StaticClientIdMode 属性将您精心挑选的 ID “粘贴”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2013-05-20
    • 2010-09-09
    相关资源
    最近更新 更多