将水平列表视图限制在屏幕内的空间?

时间:2016-04-14 15:19:50

标签: c# css asp.net listview asp.net-4.0

我有if(buffer == null) return "buffer not ready"; //or something like that. String everything = null; 水平重复,它显示20张图像。使用我的屏幕分辨率,有5个图像/行的空间,所以我应该看到4行。

不幸的是,它目前显示一个包含所有20张图像的长行。它还显示水平滚动条。

我的问题:如何限制屏幕分辨率的空间,以便我看到4行图像而没有水平滚动条?一切都应该在屏幕上显示。如果有的话,应该有一个垂直滚动条向下滚动。

我添加了一些listview来限制身体的大小为100%,但没有任何改变。我还将div设置为CSS到100%,但也没有做任何事情。

以下是代码:

<body>

1 个答案:

答案 0 :(得分:0)

首先,这是一个DataList - 你需要修复它。

您需要查看ListView GroupTemplate:

Using GroupTemplate in ASP.Net ListView Control(Tiled Display)

从性能的角度来看,您可能需要注意图像的尺寸和文件大小。

以下是使用ListView GroupPlaceHolder实现特定布局的示例:

<asp:ListView ID="galleryView" runat="server" OnPagePropertiesChanging="ChangePage" 
        GroupPlaceholderID="groupPlaceHolder" ItemPlaceholderID="itemPlaceholder" 
GroupItemCount="5">
        <LayoutTemplate>              
            <div ID="groupPlaceHolder" runat="server"></div>
        </LayoutTemplate>
        <GroupTemplate>       
            <div ID="itemPlaceholder" runat="server"></div>
        </GroupTemplate>
        <ItemTemplate>
            <asp:Image runat="server" id="ProductImage"
             AlternatingText='<%# DataBinder.Eval(Container.DataItem, "Name") %>'
             ImageUrl='<%# Eval("image_path","~/Styles/Images/{0}") %>' />
        </ItemTemplate>
         <GroupSeparatorTemplate>
          <div id="Div1" runat="server">
              <div style="clear:both"><br /></div>
          </div>
        </GroupSeparatorTemplate> 
    </asp:ListView>
    <div style="clear:both; padding-top:8px; padding-left:8px;">
        <asp:DataPager ID="DataPager1" runat="server" PagedControlID="galleryView" PageSize="40">
            <Fields>
                <asp:NumericPagerField ButtonCount="20" />
            </Fields>
        </asp:DataPager>
    </div>