为什么我在asp.net中丢失CSS?

时间:2015-11-18 13:21:47

标签: html css asp.net

我的网络应用程序中有几个地方会丢失附加到它们的CSS。一个这样的实例是我有一个从数据库值填充的标签,并在其旁边有一个链接按钮,使标签可见= false,然后一个最初不可见的DDL变为可见(这样你就可以编辑该字段) 。这个DDL没有附加任何css,只是一个空白框,你只能看到你突出显示的值。但是,如果我在可见时启动相同的DDL,它的css就好了。这是代码:

<asp:DropDownList class="ddl" runat="server" Width="100%" ID="Status_DDL" Visible ="false">
    <asp:ListItem>Dropped</asp:ListItem>
    <asp:ListItem>Redirected</asp:ListItem>
    <asp:ListItem>Tracked-Closed</asp:ListItem>
    <asp:ListItem>On-Hold</asp:ListItem>
    <asp:ListItem>Roadmap</asp:ListItem>
    <asp:ListItem>Strategy</asp:ListItem>
    <asp:ListItem>Unknown</asp:ListItem>
    <asp:ListItem>Completed</asp:ListItem>
    <asp:ListItem>In Progress</asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" CssClass="Text-Dates" ID="StatusLabel"></asp:Label>

然后背后的代码只是Status_DDL.Visible = true和StatusLabel.Visible = false。

另一次发生在下拉列表中,根据选择的值,事情会发生变化。有时它会失去css并恢复到丑陋的DDL。

谢谢!

编辑:以下是它的外观图像: enter image description here

它看起来应该是什么样子,看起来如果我用ddl可见并且标签不可见的话开始它:

enter image description here

2 个答案:

答案 0 :(得分:2)

使用ASP本机控件,您必须使用“CssClass”属性而不是“class”,所以正确的形式是:

<asp:DropDownList CssClass="ddl" runat="server" Width="100%" ID="Status_DDL" Visible ="false">

答案 1 :(得分:0)

这是updatePanel和部分回发的众所周知的问题。显然解决方案(对我有用)是将css移动到页面的页眉。如果您使用母版页,或者您的下拉列表位于Web控件中,则有一种链接方法。有关更多信息,请访问this answer