我遇到了IE的问题。该页面适用于所有浏览器,如下所示。
但是在IE中,数据即使在那里也没有出现。
问题是由我在ListView的项模板上使用的overflow:hidden属性引起的。当我将其更改为任何其他值时,数据会显示在IE中,但当然布局会在所有浏览器中混乱。
以下是源代码和CSS http://jsfiddle.net/V5aCa/8/
这是我的代码:
<asp:ListView ID="BookListView" runat="server" DataSourceID="SqlDataSource1"
onselectedindexchanged="BookListView_SelectedIndexChanged">
<LayoutTemplate>
<table runat="server" cellpadding="1" id="tblBooks" style="">
<tr runat="server">
<td runat="server">
<table ID="itemPlaceholderContainer" runat="server" border="0" style="">
<tr ID="itemPlaceholder" runat="server">
</tr>
</table>
</td>
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<div style="overflow:hidden">
<div class="itemTemplateleftColumn">
<asp:Image ID="Image1" runat="server" ImageUrl='<%# String.Format("~\\Static\\Images\\BookCovers\\{0}", Eval("CoverImageSmall")) %>' Height="120px" Width="90px" BorderColor="Gray" BorderWidth="1px"/>
</div>
<div class="itemTemplaterightColumn">
<div class="titleRow">
<asp:Label runat="server" ID="BookTitleLabel" Text='<%# Eval("Title") %>' />
</div>
<div class="nameRow">
<asp:Label runat="server" ID="FirstNameLabel" Text='<%# Eval("FirstName") %>' />
<asp:Label runat="server" ID="LastNameLabel" Text='<%# Eval("LastName") %>' />
</div>
<div class="values">
<div>
value1
</div>
<div>
value2
</div>
</div>
<div class="values">
<div>
value3
</div>
<div>
<asp:Label runat="server" ID="PriceLabel" Text='<%# Eval("Price") %>' />€
</div>
</div>
</div>
</div>
</ItemTemplate>
</asp:ListView>
</asp:Content>
感谢您解决此问题的任何帮助。提前致谢。
答案 0 :(得分:0)
[更新]首先,应用css类或id以避免内联样式。
然后,尝试编写overflow:hidden !important
以阻止IE应用该规则,这应该可以解决问题!
.your-div-class{
overflow:visible; /* This is default value, but reset it anyway */
overflow:hidden !important;
}
答案 1 :(得分:0)
在Gridview中为该div应用最小高度和宽度,然后应用溢出 最小高度:110px;最小宽度:150px;
试试这个希望它会有所帮助!