DataList嵌套DataList 子DataList访问父DataList数据(1. 页面绑定后台代码实现 纯代码)
2008-06-11 21:00
639 查看
aspx页面代码
内嵌的DataList在页面使用后台的GetDetails方法绑定
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataListNesting.aspx.cs" Inherits="DataListNesting" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>DataListNesting</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<div>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("OrderID") %>'></asp:Label>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("CustomerID") %>'></asp:Label>
</div>
<asp:DataList ID="DataList2" runat="server" DataSource='<%# GetDetails(Eval("OrderID").ToString()) %>'>
<ItemTemplate>
<div>
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval( (Container.NamingContainer.NamingContainer as DataListItem).DataItem, "CustomerID" ) %>'></asp:Label>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("ProductID") %>'></asp:Label>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("UnitPrice") %>'></asp:Label>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("Quantity") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>
aspx.cs
其中DataList2中的Label1得到的是父容器数据项中的值
内嵌的DataList在页面使用后台的GetDetails方法绑定
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataListNesting.aspx.cs" Inherits="DataListNesting" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>DataListNesting</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<div>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("OrderID") %>'></asp:Label>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("CustomerID") %>'></asp:Label>
</div>
<asp:DataList ID="DataList2" runat="server" DataSource='<%# GetDetails(Eval("OrderID").ToString()) %>'>
<ItemTemplate>
<div>
<asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval( (Container.NamingContainer.NamingContainer as DataListItem).DataItem, "CustomerID" ) %>'></asp:Label>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("ProductID") %>'></asp:Label>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("UnitPrice") %>'></asp:Label>
<asp:Label ID="Label4" runat="server" Text='<%# Eval("Quantity") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>
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; public partial class DataListNesting : System.Web.UI.Page { private void BindList() { SqlConnection cn = new SqlConnection(@"server=./sqlexpress;uid=sa;pwd=;database=northwind"); SqlDataAdapter da = new SqlDataAdapter("select OrderID, CustomerID from Orders", cn); DataSet ds = new DataSet(); cn.Open(); da.Fill(ds); cn.Close(); DataList1.DataSource = ds.Tables[0].DefaultView; DataList1.DataKeyField = "orderID"; DataList1.DataBind(); } protected DataTable GetDetails(string orderID) { SqlConnection cn = new SqlConnection(@"server=./sqlexpress;uid=sa;pwd=;database=northwind;"); SqlDataAdapter da = new SqlDataAdapter("select ProductID, UnitPrice, Quantity from [Order Details] where orderID = @orderID", cn); da.SelectCommand.Parameters.AddWithValue("@orderID", orderID); DataSet ds = new DataSet(); cn.Open(); da.Fill(ds); cn.Close(); return ds.Tables[0]; } private void Page_Load(object sender, System.EventArgs e) { if (!IsPostBack) { BindList(); } } }
其中DataList2中的Label1得到的是父容器数据项中的值
相关文章推荐
- DataList嵌套DataList(页面绑定后台代码使用ItemDataBound事件实现 纯代码)
- DataList嵌套DataList(2. 页面绑定后台代码使用ItemDataBound事件实现 纯代码)
- DataList嵌套DataList(页面绑定后台代码使用ItemDataBound事件实现 纯代码)
- 利用override多态原理实现对相似页面的后台代码的抽象,并实现动态GridView动态列数据绑定
- [置顶] gridview中嵌套gridview(并实现子gridview的数据绑定),页面传值,加密,数据绑定
- 同一空间绑定多个域名而实现访问不同页面的PHP代码
- gridview中嵌套gridview(并实现子gridview的数据绑定),页面传值,加密,数据绑定
- 同一空间绑定多个域名而实现访问不同页面的PHP代码
- [置顶] Datalist嵌套datalist,页面传值,加密,数据绑定
- Datalist嵌套datalist,页面传值,加密,数据绑定
- DataList嵌套DataList(页面绑定后台代码实现 纯代码)
- jquery调用asp.net 页面后台的实现代码
- [Ajax]便于在html页面中引用javascript显示后台数据的一段ajax代码
- Repeater控件多个嵌套的数据绑定之简单实现
- DataGridView中绑定DataTable数据及相关操作实现代码
- vue实现数据的绑定以及如何进行和后台php就行数据的交互
- 经典js代码 实现动态传值 实现动态页面传值 options动态显示数据
- MVC4中AJAX Html页面打开调用后台方法实现动态载入数据库中的数据
- datalist绑定数据,实现增删改查
- 一“.NET研究”句代码实现批量数据绑定[下篇]