我有以下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是我的错误做法吗?

最佳答案

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

从.NET 4.0开始,我相信您可以使用Static的ClientIdMode属性来使手工选择的ID“粘住”。

关于html - Asp.net runat =“server”更改ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32053262/

10-09 06:27
查看更多