我的网络应用程序中有几个地方会丢失附加到它们的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。
谢谢!
它看起来应该是什么样子,看起来如果我用ddl可见并且标签不可见的话开始它:
答案 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。