ASP.NET主页面内容页面的ID全部更改,基于原始元素ID打破CSS?你在跟我开玩笑吗

Tri*_*nko 3 css asp.net master-pages content-pages

ASP.NET主页面内容页面的元素似乎都是由ASP.NET页面渲染器更改或添加了ID.

这会根据原始元素ID中断所有CSS样式.

这是认真的工作原理吗?如果是这样,有办法吗?

jon*_*aze 10

是的,您可以指定将其ClientIDMode设置为静态.

例子:

客户端

<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

代码背后

TextBox txtBox = new TextBox();
txtBox.ID = "TextBox1";
txtBox.ClientIDMode = ClientIDMode.Static
Run Code Online (Sandbox Code Playgroud)

通过将其设置为静态...

ClientID值设置为ID属性的值.如果控件是命名容器,则该控件将用作其包含的任何控件的命名容器层次结构的顶部.


更新 感谢 @克里斯生动的额外信息


页面级别

<%@ Page Language="C#" ClientIDMode="Static" AutoEventWireup="true"...
Run Code Online (Sandbox Code Playgroud)

应用水平

<system.web>
    <pages clientIDMode="Static"></pages>
</system.web>
Run Code Online (Sandbox Code Playgroud)

参考:

  • 此外,它可以在<pages>部分中的整个项目的web.config中进行控制. (2认同)