Repeater添加图片问题!
我的cs 文件代码如下!
private void BindGood()
{
string strsql = @ "select top 5 ( 'BBS_ReferList.aspx?SectionId= '+CAST (S.SectionID as varchar(14))) as url ,S.SectionName, R.Hits
from BBS_Sections as S Inner Join (select top 5 SectionID,Hits from BBS_Refers order by Hits desc) as R On S.SectionID = R.SectionID ";
DataSet objds = new DataSet();
objds = SqlHelper.ExecuteDataset(Operate.SqlConn,CommandType.Text,strsql);
try
{
Repeater1.DataSource = objds.Tables[0];
Repeater1.DataBind();
}
catch(Exception error)
{
Response.Write(error.ToString());
}
}
页面邦定代码如下:
<asp:repeater id= "Repeater1 " runat= "server ">
<ItemTemplate>
<asp:Image id= "Image2 " runat= "server " ImageUrl= "../image/bbs_1.gif " Width= "14px " Height= "15px "> </asp:Image>
<a href= ' <%#DataBinder.Eval(Container.DataItem, "url ")%> '>
<%#DataBinder.Eval(Container.DataItem, "SectionName ")%>
</a> ( <%#DataBinder.Eval(Container.DataItem, "Hits ")%> )
<br>
</ItemTemplate>
</asp:repeater>
我现在想做的事情是Repeater每换一行输出数据我就把前面的图片换成另外一个
image/bbs_1.gif;
也就是说,Repeater如果输出5行数据(每行一列)的话!平时前面会有5个一样的图标。我想把把这个图片换成5 个不同的图片。。。怎么办?谢谢!
[解决办法]
<%@ Page language= "c# " Codebehind= "WebForm1.aspx.cs " AutoEventWireup= "false " Inherits= "WebApplication16.WebForm1 " %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN " >
<HTML>
<HEAD>
<title> WebForm1 </title>
<meta name= "GENERATOR " Content= "Microsoft Visual Studio .NET 7.1 ">
<meta name= "CODE_LANGUAGE " Content= "C# ">
<meta name= "vs_defaultClientScript " content= "JavaScript ">
<meta name= "vs_targetSchema " content= "http://schemas.microsoft.com/intellisense/ie5 ">
</HEAD>
<body>
<form runat= "server ">
<asp:Repeater ID= "Repeater1 " runat= "server ">
<ItemTemplate>
<div>
<asp:Image ID= "Image2 " runat= "server " ImageUrl= " " Width= "14px " Height= "15px "> </asp:Image>
<%#DataBinder.Eval(Container.DataItem, "Title ")%>
</div>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</HTML>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebApplication16
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Repeater Repeater1;
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
string ConnectionString = @ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WebSite1\App_Data\ASPNET20Book.mdb; ";
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(ConnectionString);
cn.Open();
string sql = "select * from [Student] ";
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, cn);
System.Data.OleDb.OleDbDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
Repeater1.DataSource = dr;
Repeater1.DataBind();
dr.Close();
cmd.Dispose();
cn.Dispose();
}
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Repeater1.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.Repeater1_ItemDataBound);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
System.Web.UI.WebControls.Image Image2 = (System.Web.UI.WebControls.Image)e.Item.FindControl( "Image2 ");
Image2.ImageUrl = "image/bbs_no " + (e.Item.ItemIndex + 1).ToString() + ".gif ";
}
}
}
}