为什么我的ASP.NET页面将前缀'ctl00_ctl00'添加到html元素ID并破坏设计?

时间:2008-10-14 07:26:00

标签: asp.net .net css

我不明白。

母版页中的html元素的ID由相同的id更改,但带有前缀并且它打破了css设计。

在母版页中我有:

<div id="container" runat="server">

    <asp:ContentPlaceHolder ...

...

呈现上述代码

<div id="ctl00_ctloo_container">

     ...

CSS样式显然已经消失了。

如何阻止它?

谢谢!

4 个答案:

答案 0 :(得分:4)

WebForms只应重写服务器控件的ID(如<asp:ContentPlaceHolder />,而不是<div id="container">而不是普通的HTML元素runat="server"

您无法阻止框架在服务器控件上重写ID。不过,您可以改用类名。

答案 1 :(得分:1)

AFAIK你不能这样做。由于控制树,这是默认行为。

如果您想使用CSS,请直接设置CSS类,不要依赖于ID,例如

<asp:Whatever runat="server" id="whatever" CssClass="whateverClass">

更新: Here是一个类似线程,但它对你的CSS问题无济于事。

答案 2 :(得分:1)

您需要runat =“server”标签吗?如果您没有对代码隐藏中的div元素执行任何操作,请将其删除。

答案 3 :(得分:-1)

我不需要runat =“server”标记并将其删除。不知道为什么会这样......现在没有改变。感谢