asp.net 前台显示多行三列的图片方法
我想写这样一个方法publicstringShowPic(objectid){//TODO:}后台方法是想要读取数据库中符合条件的记录,选出图片,多行显示,一行三列。传入...
我想写这样一个方法
public string ShowPic(object id)
{
//TODO:
}
后台方法是想要读取数据库中符合条件的记录,选出图片,多行显示,一行三列。传入的参数是前台传入的, repeater控件中的<%#Eval("id")%>.可是这个方法不晓得怎么写。
前台代码
<asp:Repeater ID="RepListPic" runat="server">
<ItemTemplate>
<tr>
<td class="fiveicon"><img src="images/Icon_08.gif" /></td>
<td class="xiezhentitle"> <%#Eval("title") %></td>
</tr>
<tr>
<table cellpadding="0" cellspacing="0">
<tr>
<td><img src='<%#ShowPic(Eval("id").ToString()) %>' /></td>
</tr>
</table>
</tr>
</ItemTemplate>
</asp:Repeater>
后台的绑定代码
dt = bkm.SelectAll();
RepListPic.DataSource = dt;
RepListPic.DataBind();
方法里面的循环是只要有记录就一直循环下去,都是一行三列的显示。 展开
public string ShowPic(object id)
{
//TODO:
}
后台方法是想要读取数据库中符合条件的记录,选出图片,多行显示,一行三列。传入的参数是前台传入的, repeater控件中的<%#Eval("id")%>.可是这个方法不晓得怎么写。
前台代码
<asp:Repeater ID="RepListPic" runat="server">
<ItemTemplate>
<tr>
<td class="fiveicon"><img src="images/Icon_08.gif" /></td>
<td class="xiezhentitle"> <%#Eval("title") %></td>
</tr>
<tr>
<table cellpadding="0" cellspacing="0">
<tr>
<td><img src='<%#ShowPic(Eval("id").ToString()) %>' /></td>
</tr>
</table>
</tr>
</ItemTemplate>
</asp:Repeater>
后台的绑定代码
dt = bkm.SelectAll();
RepListPic.DataSource = dt;
RepListPic.DataBind();
方法里面的循环是只要有记录就一直循环下去,都是一行三列的显示。 展开
3个回答
展开全部
使用listview能实现你的要求:
template 和 alterTemplate 的交替设置,能实现一行三列的效果。
或通过样式解决:
我写的demo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> 调整IE大小有更多惊喜。 </title>
<style>
<!--
.frame {width:80%; border: solid 1px red; padding: 5px;}
.item {float:left; width:200px; height: 50px; border:solid 1px black; margin:5px;}
-->
</style>
</head>
<body>
<div class='frame'>
<div class='item'>pic 1</div>
<div class='item'>pic 2</div>
<div class='item'>pic 3</div>
<div class='item'>pic 4</div>
<div class='item'>pic 5</div>
<div class='item'>pic 6</div>
<div class='item'>pic 7</div>
<div style='clear:left'></div>
</div>
<div style='margin-top:15px;'>如果把.frame的width设置为:350px;就是你的要求了,</div>
</body>
</html>
=========================
太伤心了,,,,你都不仔细看???
还问这问题,,
template 和 alterTemplate 的交替设置,能实现一行三列的效果。
或通过样式解决:
我写的demo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> 调整IE大小有更多惊喜。 </title>
<style>
<!--
.frame {width:80%; border: solid 1px red; padding: 5px;}
.item {float:left; width:200px; height: 50px; border:solid 1px black; margin:5px;}
-->
</style>
</head>
<body>
<div class='frame'>
<div class='item'>pic 1</div>
<div class='item'>pic 2</div>
<div class='item'>pic 3</div>
<div class='item'>pic 4</div>
<div class='item'>pic 5</div>
<div class='item'>pic 6</div>
<div class='item'>pic 7</div>
<div style='clear:left'></div>
</div>
<div style='margin-top:15px;'>如果把.frame的width设置为:350px;就是你的要求了,</div>
</body>
</html>
=========================
太伤心了,,,,你都不仔细看???
还问这问题,,
展开全部
repeate是单项多行的。
想多项多行可以用datalist
<asp:DataList ID="DataList1" runat="server" RepeatColumns="3" Width="100%">
想多项多行可以用datalist
<asp:DataList ID="DataList1" runat="server" RepeatColumns="3" Width="100%">
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也做过这样的效果,不过没用repeater,repeater我也不知道,我用for循环做的
<table>
<tr>
<%
for(int i=0;i<list.Count;i++)
{
%>
<td></td>
<td></td>
<td></td>
<%
if((i+1)%3==0){
%>
</tr>
<%
}
}
%>
</table>
<table>
<tr>
<%
for(int i=0;i<list.Count;i++)
{
%>
<td></td>
<td></td>
<td></td>
<%
if((i+1)%3==0){
%>
</tr>
<%
}
}
%>
</table>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询