asp.net实现DataList与Repeater嵌套绑定的方法
本文实例讲述了asp.net实现DataList与Repeater嵌套绑定的方法。分享给大家供大家参考,具体如下:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="home.aspx.cs"Inherits="home"%>
<body>
<formid="form1"runat="server">
<asp:DataListID="monitorTypeList"runat="server"RepeatColumns="4"
onitemdatabound="monitorTypeList_ItemDataBound"RepeatDirection="Horizontal"ItemStyle-VerticalAlign="Top">
<ItemTemplate>
<tableclass="conBox"width="186"border="0"cellpadding="0"cellspacing="1"style="margin-right:10px;">
<tr>
<th><ahref="<%#Eval("plugpath")%>"><%#Eval("monitor_type_name")%></a></th>
</tr>
<asp:RepeaterID="monitorConfigList"runat="server">
<ItemTemplate>
<tr>
<td><ahref="<%#Eval("plugpath")%>?monitor_id=<%#Eval("monitor_id")%>"><%#Eval("monitor_name")%></a></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</ItemTemplate>
</asp:DataList>
</form>
</body>
home.aspx.cs
usingSystem;
usingSystem.Collections;
usingSystem.Configuration;
usingSystem.Data;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.HtmlControls;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Xml.Linq;
publicpartialclasshome:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
myCheck.IsLoginNonReturn();
if(!IsPostBack)
{
Bind_monitorTypeList();
}
}
protectedvoidBind_monitorTypeList()
{
stringsql="selectmonitor_type_id,monitor_type_namefrommonitor_type";
DbConnconn=newDbConn();
DataSetds=conn.DataSet(sql,"monitor_type");
monitorTypeList.DataSource=ds.Tables[0];
monitorTypeList.DataBind();
ds.Dispose();
conn.Close();
}
protectedvoidmonitorTypeList_ItemDataBound(objectsender,DataListItemEventArgse)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
stringmonitor_type_id=((DataRowView)e.Item.DataItem).Row["monitor_type_id"].ToString();
RepeatermonitorConfigList=(Repeater)e.Item.FindControl("monitorConfigList");
if(monitorConfigList!=null)
{
stringsql="selectmonitor_id,nonitor_name,plugpathfrommonitorwheremonitor_type_id="+monitor_type_id;
DbConnconn=newDbConn();
DataSetds=conn.DataSet(sql,"monitor");
monitorConfigList.DataSource=ds.Tables[0];
monitorConfigList.DataBind();
ds.Dispose();
conn.Close();
}
}
}
}
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net文件操作技巧汇总》、《asp.netajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。