【发布时间】:2010-10-28 05:14:32
【问题描述】:
我有一个包含一些控件、用户控件等的页面。
当我将 div 从普通的 <div id="foo"> 更改为 <div id="foo" runat="server">
布局完全改变。
为什么会这样,我该如何预防?
我正在使用 2.0 .NET 框架
是不是因为 .NET 改变了我的 id,而这显然是我不想要的?
【问题讨论】:
-
给我们一个代码示例,以便我们更好地了解您的情况。
-
您是否有任何适用于所有控件(带有 runat="server" 的控件)的服务器端代码,例如添加自定义属性或样式?
-
或者更好的是,您的 div 是否有用于 CSS 样式的 ID?添加 runat="server" 可能会在呈现时更改该控件的 ClientID,从而破坏您的 CSS。
-
您有针对 foo 的 CSS 吗? #foo { // 影响布局的样式 } 这就是我在下面的回答的回应。
-
正如 JaCraig 所说,您在 .NET Webforms 中没有太多选择。如果您使用 .NET MVC,那么您的 Id 不会改变,但您会失去应用程序生命周期和 Webforms 的 Web 控件。