Repeater嵌套Repeate 各位老大!请教Repeater嵌套Repeate的方法!看了几个都看不懂啊!最好有绑定的源代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://dotnet.aspx.cc/ShowDetail.aspx?id=54F4C732-AAE2-4135-FB1B-7B4B613BAA33 http://www.cnblogs.com/dudu/archive/2004/10/01/48464.html aspx:<asp:datalist id="DLboard" runat="server" Width="100%"> <ItemTemplate> <TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" border="0"> <TR> <TD bgColor="#f6f6f6" height="25"> <img src="image/icon.gif"> <asp:HyperLink id=LinkBoard runat="server" CssClass="LinkBoard" NavigateUrl='<%#"boardlist/default.aspx?DFboardID="+DataBinder.Eval(Container.DataItem,"DFboardID")+"&DFboardZT="+subx((string)DataBinder.Eval(Container.DataItem,"DFboardZT"))%>' Text='<%#DataBinder.Eval(Container.DataItem,"DFboardZT") +" . . ."%>'> </asp:HyperLink></TD> </TR> <TR> <TD background="image/line.gif" height="1"></TD> </TR> <TR> <asp:Label id=LabDFboardID runat="server" text='<%#DataBinder.Eval(Container.DataItem,"DFboardID")%>' Visible="false"> <!--隐藏的LAB以获得BoardID--></asp:Label> <TD> <asp:DataList id="DLlist" runat="server"> <ItemTemplate> <table> <tr> <td height="5"> </td> </tr> </table> <asp:Label id="labreadpower" Visible=False runat="server" text='<%#DataBinder.Eval(Container.DataItem,"readpower")%>'></asp:Label> <asp:Label id="labDFfbr" Visible=False runat="server" text='<%#DataBinder.Eval(Container.DataItem,"DFuser")%>'></asp:Label> <asp:HyperLink id="LinkList" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"DFtitle")%>' NavigateUrl='<%#"filelist/default.aspx?DFlistID="+DataBinder.Eval(Container.DataItem,"DFlistID")%>' CssClass="NewLink"> </asp:HyperLink> <asp:ImageButton id="ImageNew" runat="server" Enabled="False" Visible="False" ImageUrl="image/new.gif" CssClass="NewFileButton"></asp:ImageButton> [<%#DataBinder.Eval(Container.DataItem,"DFbm")%>] <asp:Label id=labDFdater runat="server" text='<%#DataBinder.Eval(Container.DataItem,"DFdater","{0:d}")%>'> </asp:Label> </ItemTemplate> </asp:DataList><BR> </TD> </TR> </TABLE> </ItemTemplate> </asp:datalist> cs:void DLboardbind() { //DFboard_Select_index SqlCommand cmd=new SqlCommand(); cmd.CommandText="[DFboard_Select_index]"; cmd.CommandType=CommandType.StoredProcedure; cmd.Connection=conn; cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DFp", System.Data.SqlDbType.Int, 4, "DFp")); cmd.Parameters["@DFp"].Value=1;//表示首页的栏目 SqlDataAdapter da=new SqlDataAdapter(); da.SelectCommand=cmd; DataSet ds=new DataSet(); da.Fill(ds); DLboard.DataSource=ds; DLboard.DataBind(); } //当DLlist邦定数据时,即DataList嵌套 private void DLboard_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { int BoardID=Convert.ToInt32(((Label)e.Item.FindControl("LabDFboardID")).Text.ToString()); // SqlCommand cmd=new SqlCommand(); cmd.CommandText="[DFlist_Select_index]"; cmd.CommandType=CommandType.StoredProcedure; cmd.Connection=conn; cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DFboardID", System.Data.SqlDbType.Int, 4, "DFboardID")); cmd.Parameters["@DFboardID"].Value=(int)BoardID; SqlDataAdapter da=new SqlDataAdapter(); da.SelectCommand=cmd; DataSet ds=new DataSet(); da.Fill(ds); DataList DLDFlist=(DataList)e.Item.FindControl("DLlist"); DLDFlist.DataSource=ds; DLDFlist.DataBind(); } //当DataList创建时,注册被嵌套的邦定事件 private void DLboard_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { DataList DLDFlist=(DataList)e.Item.FindControl("DLlist"); if(DLDFlist!=null) { DLDFlist.ItemDataBound+=new DataListItemEventHandler(DLDFlist_ItemDataBound); } } //被嵌套的DataList的邦定事件 private void DLDFlist_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { string DFdater=((Label)e.Item.FindControl("labDFdater")).Text.ToString(); if(DFdater==System.DateTime.Now.ToShortDateString()) { ImageButton ImageNew=(ImageButton)e.Item.FindControl("ImageNew"); ImageNew.Visible=true; } // try { if(Session["readpowerid"].ToString()==null) { Session["readpowerid"]="0"; Session["user"]=""; } } catch { Session["readpowerid"]="0"; Session["user"]=""; } int readpowerid=Convert.ToInt32(((Label)e.Item.FindControl("labreadpower")).Text.ToString()); string fbr=((Label)e.Item.FindControl("labDFfbr")).Text.ToString(); HyperLink LinkList=(HyperLink)e.Item.FindControl("LinkList"); if(Convert.ToInt32(Session["readpowerid"].ToString())<readpowerid && Session["user"].ToString()!=(string)fbr) { LinkList.Text="[加密文件]"; LinkList.NavigateUrl="err.aspx?err=nosystem"; } } 有点乱,不过要是理解了,就很容易了。关键是用e.Item.FindControl找到被嵌套的Datalist(你用的是Repeater,但原理是一样的)和被嵌套所需的ID。被嵌套的控件还可以有DataBound事件。 http://www.netbei.com/Article/aspx/aspx2/200505/3755.html wpf 求助 怎么处理:未能找到存储过程 'CheckUser' 下面的功能怎么实现啊 如何获取空模板列 也就是EmptyDataTemplate里textBox的值????? 这种输出效果该怎么实现??? 这个算法怎么样写呀? 急!使用ODBC.NET数据提供者连接ACCESS问题,代码用C#编写! 有没有人对Infragistics控件中的WebTab熟悉的? 可不可以在中,动态的创建控件? 思归,帮帮我! 郁闷死了,帮我。 问个关于Global.asax的问题
<asp:datalist id="DLboard" runat="server" Width="100%">
<ItemTemplate>
<TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" border="0">
<TR>
<TD bgColor="#f6f6f6" height="25"> <img src="image/icon.gif">
<asp:HyperLink id=LinkBoard runat="server" CssClass="LinkBoard" NavigateUrl='<%#"boardlist/default.aspx?DFboardID="+DataBinder.Eval(Container.DataItem,"DFboardID")+"&DFboardZT="+subx((string)DataBinder.Eval(Container.DataItem,"DFboardZT"))%>' Text='<%#DataBinder.Eval(Container.DataItem,"DFboardZT") +" . . ."%>'>
</asp:HyperLink></TD>
</TR>
<TR>
<TD background="image/line.gif" height="1"></TD>
</TR>
<TR>
<asp:Label id=LabDFboardID runat="server" text='<%#DataBinder.Eval(Container.DataItem,"DFboardID")%>' Visible="false"> <!--隐藏的LAB以获得BoardID--></asp:Label>
<TD>
<asp:DataList id="DLlist" runat="server">
<ItemTemplate>
<table>
<tr>
<td height="5">
</td>
</tr>
</table>
<asp:Label id="labreadpower" Visible=False runat="server" text='<%#DataBinder.Eval(Container.DataItem,"readpower")%>'></asp:Label>
<asp:Label id="labDFfbr" Visible=False runat="server" text='<%#DataBinder.Eval(Container.DataItem,"DFuser")%>'></asp:Label>
<asp:HyperLink id="LinkList" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"DFtitle")%>' NavigateUrl='<%#"filelist/default.aspx?DFlistID="+DataBinder.Eval(Container.DataItem,"DFlistID")%>' CssClass="NewLink">
</asp:HyperLink>
<asp:ImageButton id="ImageNew" runat="server" Enabled="False" Visible="False" ImageUrl="image/new.gif"
CssClass="NewFileButton"></asp:ImageButton>
[<%#DataBinder.Eval(Container.DataItem,"DFbm")%>]
<asp:Label id=labDFdater runat="server" text='<%#DataBinder.Eval(Container.DataItem,"DFdater","{0:d}")%>'>
</asp:Label>
</ItemTemplate>
</asp:DataList><BR>
</TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:datalist>
void DLboardbind()
{
//DFboard_Select_index
SqlCommand cmd=new SqlCommand();
cmd.CommandText="[DFboard_Select_index]";
cmd.CommandType=CommandType.StoredProcedure;
cmd.Connection=conn;
cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DFp", System.Data.SqlDbType.Int, 4, "DFp"));
cmd.Parameters["@DFp"].Value=1;//表示首页的栏目
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
DataSet ds=new DataSet();
da.Fill(ds);
DLboard.DataSource=ds;
DLboard.DataBind();
}
//当DLlist邦定数据时,即DataList嵌套
private void DLboard_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
int BoardID=Convert.ToInt32(((Label)e.Item.FindControl("LabDFboardID")).Text.ToString());
//
SqlCommand cmd=new SqlCommand();
cmd.CommandText="[DFlist_Select_index]";
cmd.CommandType=CommandType.StoredProcedure;
cmd.Connection=conn;
cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@DFboardID", System.Data.SqlDbType.Int, 4, "DFboardID"));
cmd.Parameters["@DFboardID"].Value=(int)BoardID;
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=cmd;
DataSet ds=new DataSet();
da.Fill(ds);
DataList DLDFlist=(DataList)e.Item.FindControl("DLlist");
DLDFlist.DataSource=ds;
DLDFlist.DataBind();
}
//当DataList创建时,注册被嵌套的邦定事件
private void DLboard_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
DataList DLDFlist=(DataList)e.Item.FindControl("DLlist");
if(DLDFlist!=null)
{
DLDFlist.ItemDataBound+=new DataListItemEventHandler(DLDFlist_ItemDataBound);
}
}
//被嵌套的DataList的邦定事件
private void DLDFlist_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
string DFdater=((Label)e.Item.FindControl("labDFdater")).Text.ToString();
if(DFdater==System.DateTime.Now.ToShortDateString())
{
ImageButton ImageNew=(ImageButton)e.Item.FindControl("ImageNew");
ImageNew.Visible=true;
}
//
try
{
if(Session["readpowerid"].ToString()==null)
{
Session["readpowerid"]="0";
Session["user"]="";
}
}
catch
{
Session["readpowerid"]="0";
Session["user"]="";
}
int readpowerid=Convert.ToInt32(((Label)e.Item.FindControl("labreadpower")).Text.ToString());
string fbr=((Label)e.Item.FindControl("labDFfbr")).Text.ToString();
HyperLink LinkList=(HyperLink)e.Item.FindControl("LinkList");
if(Convert.ToInt32(Session["readpowerid"].ToString())<readpowerid && Session["user"].ToString()!=(string)fbr)
{
LinkList.Text="[加密文件]";
LinkList.NavigateUrl="err.aspx?err=nosystem";
}
}
关键是用e.Item.FindControl找到被嵌套的Datalist(你用的是Repeater,但原理是一样的)和被嵌套所需的ID。被嵌套的控件还可以有DataBound事件。