.NET中关于repeater中图片显示的div问题,求高手,在线等

[复制链接]
查看11 | 回复8 | 2011-8-27 01:47:59 | 显示全部楼层 |阅读模式
前台divstyle=\"Z-INDEX:101;LEFT:86px;WIDTH:750px;POSITION:relative;TOP:53px;HEIGHT:463px\"id=\"small\"asp:Repeaterid=\"rpAlbum\"runat=\"server\"OnItemCreated=\"rpAlbum_ItemCreated\"ItemTemplate%--divid=\"outBox\"style=\"width:125px;height:140px;\"--%ahref=\'%#GetUrl(Eval(\"AlbumId\"))%\'rel=\"lightbox\"title=\"PressXtoclose\"style=\"text-decoration:none;\"asp:ImageID=\"Image\"runat=\"server\"Width=\"125px\"Height=\"113px\"ImageUrl=\'%#GetImg(Eval(\"ImgUrl\").ToString())%\'//a%--br/asp:CheckBoxID=\"ckDelete\"runat=\"server\"Text=\"删除\"/--%%--/div--%/ItemTemplate/asp:Repeater/div后台我从数据库动态读取图片并加载到repeater,但是控制不了图片的换行间隔问题,我就添加了如下方法inti=2;intj=1;protectedvoidrpAlbum_ItemCreated(objectsender,RepeaterItemEventArgse){if(i%4==0){if(j%3==1){e.Item.Controls.Add(newLiteralControl(\"br/br/br/br/br/br/\"));}elseif(j%3==2){e.Item.Controls.Add(newLiteralControl(\"br/br/br/br/br/br/\"));}else{e.Item.Controls.Add(newLiteralControl(\"br/br/br/br/br/br/br/\"));}j;}elseif(i%4==1){e.Item.Controls.Add(newLiteralControl(\"\"));}elseif(i%4==2){e.Item.Controls.Add(newLiteralControl(\"\"));}else{e.Item.Controls.Add(newLiteralControl(\"\"));}i;}效果如图,但是我在repeater中的Item中只加入一个div标签(长和宽设置与否都试过),其他什么都没加,所有的图片都显示在一列中了,求助高手。
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
你的做法不太合适首先,你应该用纯html保证页面显示的格式和你期望相同然后你再考虑如何用Repeater显示出来这样的html否则别人也不知道如何能拼出来楼主所需要的html(都不知道结果是怎样的,怎么写呢?)追问我想要的效果就是我发的那个图,实际上也实现了。但是因为我还需要在图的下面加Checkbox,所以我就需要在ItemTemplete中加个div层(后面我还需要这个层处理图片的缩放问题)。一旦加入这个层所有的图片都在一列中显示了
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
也就是说实际上不是Repeater的问题,而是加了这个div后如何显示正常。同样,先把html代码搞定,再考虑什么ItemTemplate
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
用DataList控件更方便追问我用Datelist试过还是没到想象中的效果
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
呵呵,Datelist要用样式来控制,否则就没有什么效果的。你也可以在repeater中,把img放在div里面,再用css样式来控制div,就有效果了
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
谢谢,不过我是新手,对css样式不怎么会,之前在学校基本上都是老师帮我们写好的,我们直接拿来用就可以了,如果可以的话能不能给个建议
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
给每个图片套个div,设置div固定宽度和高度,向坐浮动。(float:left)追问我设置了float:left后图片不在一列里显示了,而是紧缩着分两行显示了(我把ItemCreated注释了,因为留这更乱),我很纠结……
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
紧缩?那再设置每个div的margin吧(margin:10px)根据实际情况设置10px还是其它值。不同设置之间用分号隔开。(float:left;margin:10px)
回复

使用道具 举报

千问 | 2011-8-27 01:47:59 | 显示全部楼层
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidForm1_Load(ocbjectsender,EventArgse){}publicvoidaa(intb,boola,intc)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行