ASP.NET 母版页内容页的 ID 全部更改,破坏了基于原始元素 ID 的 CSS?你在跟我开玩笑吗
Posted
技术标签:
【中文标题】ASP.NET 母版页内容页的 ID 全部更改,破坏了基于原始元素 ID 的 CSS?你在跟我开玩笑吗【英文标题】:ASP.NET Master Page Content Page's IDs all changed, breaking CSS based on original element IDs? Are you kidding me 【发布时间】:2011-07-26 12:47:51 【问题描述】:ASP.NET 母版页内容页面的元素似乎都被 ASP.NET 页面呈现器更改或添加了 ID。
这会破坏所有基于原始元素 ID 的 CSS 样式。
这是真的吗?如果是这样,有没有办法解决它?
【问题讨论】:
【参考方案1】:是的,您可以指定ClientIDMode
将其设置为静态。
例子:
客户端
<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static"></asp:TextBox>
代码背后
TextBox txtBox = new TextBox();
txtBox.ID = "TextBox1";
txtBox.ClientIDMode = ClientIDMode.Static
通过将其设置为静态...
ClientID 值设置为 ID 属性的值。如果控件是命名容器,则该控件将用作其包含的任何控件的命名容器层次结构的顶部。
更新 感谢 @Chris Lively 提供更多信息
页面级别
<%@ Page Language="C#" ClientIDMode="Static" AutoEventWireup="true"...
应用级别
<system.web>
<pages clientIDMode="Static"></pages>
</system.web>
参考文献:
http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx
http://beyondrelational.com/blogs/hima/archive/2010/07/16/all-about-client-id-mode-in-asp-net-4.aspx
【讨论】:
请注意这是在 ASP.net 4.0 中引入的 另外,也可以在web.config的我认为您需要使用ClientID
属性而不是ID
属性。
文档:http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx
【讨论】:
我不确定这对链接样式表是否有帮助 @Jon P,它会的。 ClientID 生成 DOM 元素的 ID,它由链接的样式表格式化。以上是关于ASP.NET 母版页内容页的 ID 全部更改,破坏了基于原始元素 ID 的 CSS?你在跟我开玩笑吗的主要内容,如果未能解决你的问题,请参考以下文章