如何在ASP.NET中的itemtemplate中显示两行记录? [英] How to display two rows of record in itemtemplate in ASP.NET?

查看:139
本文介绍了如何在ASP.NET中的itemtemplate中显示两行记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在转发器中使用项目模板并排显示两个图像。

图像从解决方案文件夹本身作为列表集合获取。现在我一次只能获得一张图片。



我尝试了什么:



< asp:Repeater ID =rptSlidesrunat =server>

< itemtemplate>

I want to display two images side by side using item template in repeater.
The images are getting as list collection from solution folder itself. Now i'm getting only one images at a time.

What I have tried:

<asp:Repeater ID="rptSlides" runat="server">
<itemtemplate>



< img src ='<%#DataBinder.Eval(Container.DataItem,Value)%>'class =img-responsivealt =style =width:348px;

身高:188px>




<img src='<%# DataBinder.Eval(Container.DataItem,"Value") %>' class="img-responsive" alt="" style="width: 348px;
height: 188px">













C#:



string [ ] filePaths = Directory.GetFiles(Server.MapPath(〜/ MyImages /));

List< listitem> files = new List< listitem>();

foreach(filePaths中的字符串filePath)

{

string fileName = Path.GetFileName(filePath );

files.Add(new ListItem(fileName,MyImages /+ fileName));

}

rptSlides.DataSource = files ;

rptSlides.DataBind();







C#:

string[] filePaths = Directory.GetFiles(Server.MapPath("~/MyImages/"));
List<listitem> files = new List<listitem>();
foreach (string filePath in filePaths)
{
string fileName = Path.GetFileName(filePath);
files.Add(new ListItem(fileName, "MyImages/" + fileName));
}
rptSlides.DataSource = files;
rptSlides.DataBind();

推荐答案

这更像是一个css问题,但你应该添加相关的样式\classes对你的形象。如果你谷歌如何在网格中展示你会找到更好的教程,但这是一个基本的方法来做到这一点



This is more of a css question, but you should add the relevant styles\classes to your image. If you google how to lay things out in a grid you'll find better tutorials, but this is a basic way of doing it

<asp:Repeater id="rptSlides" runat="server" OnItemDataBound="rptSlides_ItemDataBound">
    <HeaderTemplate>
        <div>
    </HeaderTemplate>
    <ItemTemplate>
        <asp:Image ID="myImage" runat="server" ImageUrl='<%#Eval("ImageUrl") %>' />
    </ItemTemplate>
    <FooterTemplate>
        </div>
    </FooterTemplate>	
</asp:Repeater>







protected void Page_Load(object sender, EventArgs e)
{
    rptSlides.DataSource = new List<MyData> {
        new MyData { ImageUrl = "~/Images/pic1.png" },
        new MyData { ImageUrl = "~/Images/pic2.png" },
        new MyData { ImageUrl = "~/Images/pic3.png" },
        new MyData { ImageUrl = "~/Images/pic4.png" },
        new MyData { ImageUrl = "~/Images/pic5.png" }
    };

    rptSlides.DataBind();
}

protected void rptSlides_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        Image myImage = (Image)e.Item.FindControl("myImage");

        // make image float left
        myImage.Style["float"] = "left";

        if (e.Item.ItemIndex % 2 == 0)
        {
            // item index is even so break the floating left
            myImage.Style["clear"] = "both";
        }
    }
}


这篇关于如何在ASP.NET中的itemtemplate中显示两行记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆