关于SO的第一个问题
我必须在其中做一个搜索结果页面,asp.net
但我遇到了一些问题 - 我将(对于每个“框”)拥有书籍封面的图像和书名
知道所有图像的高度不同,我希望能够将它们垂直对齐到底部。我在网上非常努力地搜索并找到了一些使用显示表/表行/表单元格的解决方案。
一切正常,使用ListView
's GroupTemplate
(作为行)和ItemTemplate
(作为单元格)如果我只想显示图像 - 但是 - 我希望图像垂直对齐底部和下面的书名(标题下方有一个链接,如“了解更多” )。
知道我不能将我的书名放在与图像相同的单元格中(因为有时标题会占用两行,这会再次破坏设计......),我认为我需要另一行(比如在我的下面的代码)。我坚持将我的两行放入GroupTemplate
会起作用,但ListView
似乎并没有让我能够调用两个不同的项目模板(一个用于图像,一个用于放置在另一行中的文本,位于他的图像下方)。
任何帮助将不胜感激,如果您有其他选择,我愿意接受建议。请记住,我需要一个DataPager
所以ListView
- 我认为 - 是唯一的出路。
这是我的CSS
#grid{
background: lightgreen;
border-spacing: 10px;
display: table;
}
#grid .row{display: table-row;}
#grid .result{
display: table-cell;
vertical-align: bottom;
}
这是我的搜索结果ListView
草稿(图片很好,但只有蹩脚的“测试”文字)
<asp:ListView ID="lvSearchResults" runat="server" OnPagePropertiesChanged="DataPager_PreRender" OnPagePropertiesChanging="DataPager_PreRendering" GroupItemCount="5" >
<LayoutTemplate>
<div id="grid">
<asp:PlaceHolder ID="groupPlaceholder" runat="server" />
</div>
</LayoutTemplate>
<GroupTemplate>
<div class="row">
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</div>
<div class="row">
<asp:PlaceHolder ID="itemPlaceHolder1" runat="server" />
</div>
</GroupTemplate>
<ItemTemplate>
<div class="result">
<p><a href='<%# Container.DataItem.URI %>'><img src='<%# Container.DataItem.LesImages.Petite %>' alt="" /></a></p>
</div>
</itemtemplate>
<ItemTemplate>
<div class="result">
<p><a href='<%# Container.DataItem.URI %>'>test</a></p>
</div>
</itemtemplate>
</asp:ListView>
非常感谢, - 埃里克