【问题标题】:Why am I losing CSS on things in asp.net?为什么我在 asp.net 中丢失了 CSS?
【发布时间】:2015-11-18 13:21:47
【问题描述】:

在我的网络应用程序中有几个地方会丢失附加到它们的 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 可见和标签不可见开始它的样子:

【问题讨论】:

标签: html css asp.net


【解决方案1】:

对于 ASP 原生控件,您必须使用“CssClass”属性而不是“类”,所以正确的形式是:

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

【讨论】:

  • 感谢您的提示,我会牢记这一点以备不时之需,但遗憾的是它并没有解决问题。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    相关资源
    最近更新 更多