3

ASP.NET 母版页内容页面的元素似乎都被 ASP.NET 页面呈现器更改或添加了 ID。

这会破坏所有基于原始元素 ID 的 CSS 样式。

这是认真的吗?如果是这样,有没有办法解决它?

4

2 回答 2

11

是的,您可以指定将其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>

参考资料

于 2011-03-31T00:42:59.443 回答
2

我认为您需要使用该ClientID属性而不是该ID属性。

文档:http: //msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx

于 2011-03-31T00:42:50.647 回答