嵌套的那个DataList需要根据外面的DataList的一个值来显示内容
比如说一个订单 要根据外面的DataList中的订单编号这个字段的值 然后在嵌套的DataList中显示这个订单包含的商品该怎么做?DataList
比如说一个订单 要根据外面的DataList中的订单编号这个字段的值 然后在嵌套的DataList中显示这个订单包含的商品该怎么做?DataList
解决方案 »
- 快捷菜单的名称
- VS出问题了,求教!!
- 怎样在asp.net中实现sql的导入\导出
- 关于Visual Source Safe
- 如何在DataView显示某个文件夹下所有文件和子文件夹?
- 關于B/S架构
- 在Web中如何实现在TreeView中点击父节点复选框其下的所有子节点的复选框也被选中
- NetAdvantage 的UltraWebGrid如何取消其自动绑定数据呢?
- 怎么样把下面这段代码的页面居中显示啊?
- 还是xml删除的问题
- 求助,页面层跟着页面移动而移动怎么做?
- UpdatePanel 更新 gridview 出现 Sys.WebForms.PageRequestManagerParserErrorException
http://blog.csdn.net/279503482/article/details/5685059
string orderId = lab.Text;
DataList dl = e.Item.FindControl("DataList2") as DataList;
dl.DataSource = om.SelOrderItemByOrderId(orderId);
dl.DataBind();为什么Label那行总是报 索引超出范围
你一定要这么写:Label label= e.Item.FindControl("Label1") as Label;
你一定要这么写:Label label= e.Item.FindControl("Label1") as Label;
还是一样超出范围
<table border="1">
<asp:DataList ID="DataList1" runat="server"
onitemdatabound="DataList1_ItemDataBound">
<ItemTemplate>
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%#Eval("id") %>' />
<tr>
<td>HiddenField1=<%#Eval("id") %>
</td>
</tr>
<asp:DataList ID="DataList2" runat="server">
<ItemTemplate>
<tr>
<td>
<table border="1">
<tr>
<td>table1=<%#Eval("table1") %>
</td>
</tr>
</table>
</td>
</tr>
</ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
</table>
后台代码: protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定 外层 DataList
DataList1.DataSource = TM.DBUtility.DbHelperSQL.GetDataTable("select top 5 * from Table_1"); ;
DataList1.DataBind();
}
}
//外层DataList绑定
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataList dl2 = (DataList)e.Item.FindControl("DataList2"); #region 方法一 外层DataList数据源包含内层DataList数据时 System.Data.DataTable dt = TM.DBUtility.DbHelperSQL.GetDataTable("select top 5 * from Table_2");
//内层数据源添加一列
dt.Columns.Add(new System.Data.DataColumn("id1"));
foreach (System.Data.DataRow dr in dt.Rows)
{
//外层服务器控件赋值到内层数据源
dr["table1"] = ((HiddenField)e.Item.FindControl("HiddenField1")).Value;
}
#endregion #region 方法二 外层外层DataList数据源包含内层DataList数据条件时 dt = TM.DBUtility.DbHelperSQL.GetDataTable("select top 5 * from Table_2 where id1=" + ((HiddenField)e.Item.FindControl("HiddenField1")).Value); #endregion dl2.DataSource = dt;
dl2.DataBind();
}