首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Repeater 能不能第一条显示图片,其他的不显示图片,该如何处理

2011-12-30 
Repeater 能不能第一条显示图片,其他的不显示图片如下:asp:RepeaterID xcztRepeater runat server

Repeater 能不能第一条显示图片,其他的不显示图片
如下:
            <asp:Repeater   ID= "xcztRepeater "   runat= "server "   EnableViewState= "false "   OnItemCommand= "xcztRepeater_ItemCommand ">
              <ItemTemplate>
                <table   width= "200 "   height= "275 "   border= "0 "   cellpadding= "0 "   cellspacing= "0 ">
                    <tr>
                        <td   style= "height:   90px "> <div   align= "center "> <img   src= ' <%#   DataBinder.Eval(Container.DataItem,   "pic ").ToString().Trim()%> '   width= "186 "   height= "72 "> </div> </td>
                    </tr>
                    <tr>
                        <td   height= "5 "> </td>
                    </tr>
                    <tr>
                        <td   height= "180 "   valign= "top ">
                        <table   width= "200 "   border= "0 "   cellspacing= "0 "   cellpadding= "0 ">
                            <tr>
                                <td   width= "20 "   height= "20 "> <div   align= "center "   class= "b1 "> · </div> </td>
                                <td   width= "180 "   height= "20 "> <span   class= "kuan_01 "> <a   href= "nrjs.aspx?id= <%#   DataBinder.Eval(Container.DataItem,   "info_id ").ToString().Trim()%> "   target= "_blank "> <%#   len.GetLen(DataBinder.Eval(Container.DataItem, "title ").ToString().Trim(),13)   %> </a> </span> </td>
                            </tr>            
                        </table>
                        </td>
                    </tr>
                </table>
            </ItemTemplate>    
              </asp:Repeater>  

第一条的时候显示:
          <table   width= "200 "   height= "275 "   border= "0 "   cellpadding= "0 "   cellspacing= "0 ">


                    <tr>
                        <td   style= "height:   90px "> <div   align= "center "> <img   src= ' <%#   DataBinder.Eval(Container.DataItem,   "pic ").ToString().Trim()%> '   width= "186 "   height= "72 "> </div> </td>
                    </tr>
                    <tr>
                        <td   height= "5 "> </td>
                    </tr>
                    <tr>
                        <td   height= "180 "   valign= "top ">
                        <table   width= "200 "   border= "0 "   cellspacing= "0 "   cellpadding= "0 ">
                            <tr>
                                <td   width= "20 "   height= "20 "> <div   align= "center "   class= "b1 "> · </div> </td>
                                <td   width= "180 "   height= "20 "> <span   class= "kuan_01 "> <a   href= "nrjs.aspx?id= <%#   DataBinder.Eval(Container.DataItem,   "info_id ").ToString().Trim()%> "   target= "_blank "> <%#   len.GetLen(DataBinder.Eval(Container.DataItem, "title ").ToString().Trim(),13)   %> </a> </span> </td>
                            </tr>            
其它条循环这部分:
                            <tr>
                                <td   width= "20 "   height= "20 "> <div   align= "center "   class= "b1 "> · </div> </td>
                                <td   width= "180 "   height= "20 "> <span   class= "kuan_01 "> <a   href= "nrjs.aspx?id= <%#   DataBinder.Eval(Container.DataItem,   "info_id ").ToString().Trim()%> "   target= "_blank "> <%#   len.GetLen(DataBinder.Eval(Container.DataItem, "title ").ToString().Trim(),13)   %> </a> </span> </td>
                            </tr>

[解决办法]
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Repeater_rpcourse : System.Web.UI.Page{ private int iIndex = 0; private int iTotalRecords = 0; private int iPageSize = 15; protected void Page_Load(object sender, EventArgs e) { DataTable dtYear = new DataTable(); dtYear.Columns.Add( "id ", typeof(int)); dtYear.Columns.Add( "year "); dtYear.Rows.Add(1, "2003学年第一学期 "); dtYear.Rows.Add(2, "2003学年第二学期 "); dtYear.Rows.Add(3, "2004学年第一学期 "); dtYear.Rows.Add(4, "2004学年第二学期 "); dtYear.Rows.Add(5, "2005学年第一学期 "); dtYear.Rows.Add(6, "2005学年第二学期 "); dtYear.Rows.Add(7, "2006学年第一学期 "); dtYear.Rows.Add(8, "2006学年第二学期 "); DataTable dtScore = new DataTable(); dtScore.Columns.Add( "yid ",typeof(int)); dtScore.Columns.Add( "name "); dtScore.Columns.Add( "type "); dtScore.Columns.Add( "score ", typeof(int)); for (int i = 1; i < 9; i++) { for (int j = 0; j < 10-i; j++) { dtScore.Rows.Add(i, "课程名称 ", "公共 ", j*10); } } DataSet ds = new DataSet(); ds.Tables.Add(dtYear); ds.Tables.Add(dtScore); dtYear.ChildRelations.Add( "r1 ", dtYear.Columns[ "id "], dtScore.Columns[ "yid "]); this.iTotalRecords = dtYear.Rows.Count + dtScore.Rows.Count; this.Repeater1.DataSource = dtYear.DefaultView; this.Repeater1.DataBind(); } protected string GetSpliter() { this.iIndex++; //Response.Write(this.iIndex.ToString() + "** <BR> "); if (iIndex % this.iPageSize == 0) { return @ " </table> </td> <td> <table border= " "1 " " bordercolor= " "black " " style= " "border-collapse:collapse " "> <tr> <td> 课程名称 </td> <td> 课程性质 </td> <td> 总评成绩 </td> </tr> "; } else if (this.iIndex == this.iTotalRecords) { if (this.iTotalRecords % this.iPageSize == 0) { return " "; } else { string str = " <tr> <td colspan= '3 ' align= 'center '> 以下为空白 </td> </tr> "; for (int i = 0; i < ((this.iPageSize - this.iTotalRecords % this.iPageSize))-1; i++) { str += " <tr> <td> &nbsp; </td> <td> &nbsp; </td> <td> &nbsp; </td> </tr> "; } return str; } } else return " "; }}


[解决办法]
//.aspx 文件
<form id= "form1 " runat= "server ">
<div>
<asp:Repeater ID= "Repeater1 " runat= "server " OnItemDataBound= "Repeater1_ItemDataBound ">
<ItemTemplate>
<%#Eval( "id ")%>
<asp:Image ID= "Image1 " Runat= "server " ImageUrl= ' <%# Eval( "pic ", "{0} ") %> ' />
</ItemTemplate>
</asp:Repeater>
</div>
</form>

// aspx.cs文件

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace WebDemo
{
public partial class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
if (! IsPostBack )
{
SqlConnection cn = new SqlConnection(@ "server=.\SQLExpress;uid=sa;pwd=password;database=Test ");
SqlCommand cmd = new SqlCommand( "select id, pic from A ", cn);
cn.Open();
Repeater1.DataSource = cmd.ExecuteReader();
Repeater1.DataBind();
cn.Close();
}
}

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
Image img;
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.ItemIndex == 0)
{
img = (Image)e.Item.FindControl( "Image1 ");
img.Visible = false;
}
}
}

}
}

数据库 Test
create table A
(
id int,
pic varchar(100)
)

insert into A values(1, '1.gif ')
insert into A values(2, '1.gif ')

热点排行