繁体   English   中英

使用Bootstrap时,为什么我的某些元素随机不塌陷?

[英]When using Bootstrap, why are some of my elements randomly not collapsing?

我的Web表单网站上有几个崩溃的块。 我正在使用Bootstrap折叠它们,如下所示:

<div class="span<%# CurrentBlock.Span > 0 ? CurrentBlock.Span.ToString() : "12" %> info-link-header info-link-header-title expandable-link-heading" data-toggle="collapse" data-target="#<%# ContentId %>" style="position: relative;">
    <!--some content-->
<div class="expandable-container collapse" id="<%# ContentId %>"><!--some more content--></div>

以下是此文件的代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        this.DataBind();
        //some other code
    }

由于调用了DataBind(),因此我假定<%#ContentId%>代码块应获取正确的值。 我遇到的问题是,当我单击要扩展的div时,class属性无法生成“ collapse in”,它仅显示“ collapse”,因此当我在Chrome Dev工具中对其进行检查时,将呈现我的内容,但它不可见。 在Chrome开发工具中添加“折叠”即可解决此问题,但是我当然需要自动进行此操作。 更令人困惑的是,当我在本地构建时,我的块每次都会正确地扩展/折叠。 在需要时添加“ collapse in”,并在需要时恢复为“ collapse”。 当我发布到我们的开发服务器时,随机生成“崩溃”。 我怎样才能解决这个问题? 谢谢!

我刚刚回答了这个问题。 这背后的问题是我的包含data-target属性的div使用C#属性获取唯一的ID值。 通过在DateTime.Now上生成毫秒,并将其用作折叠div上id属性的值,以及顶部div上的data-target值,来创建此值。 在比我自己的机器快的机器上(例如开发服务器),我假设代码运行得足够快,可以在页面的2或3 div上获得相同的毫秒值,从而在id属性中创建了相同的值。 Id属性中相同的值破坏了DOM,并隐藏了我的内容。

解决方案:我创建了一个GUID对象来填充'ContentId'属性,该属性为id属性创建了唯一值,并保持了DOM完整。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM