asp.net datalist 嵌套的问题

con.Open();if(e.Item.ItemType==ListItemType.Header||e.Item.ItemType==ListItemType.Alt... con.Open();
if (e.Item.ItemType == ListItemType.Header || e.Item.ItemType==ListItemType.AlternatingItem)
{
if ((DataList)e.Item.FindControl("DataList2")!=null)
{
DataList lista = (DataList)e.Item.FindControl("DataList2");
DataRowView drv = (DataRowView)e.Item.DataItem;
int k = Convert.ToInt32(drv.Row["id"]);
string str = "select *from biao2 where id ='" + k+ "' order by id1 desc";
SqlDataAdapter ada = new SqlDataAdapter(str,con);
DataSet set = new DataSet();
ada.Fill(set);
lista.DataSource = set;
lista.DataBind();
}
}
}
为什么我去掉if (e.Item.ItemType == ListItemType.Header || e.Item.ItemType==ListItemType.AlternatingItem) 以后就能显示datalist2里的数据,一起却不能显示
展开
 我来答
lwd6808
2011-12-02 · TA获得超过115个赞
知道小有建树答主
回答量:128
采纳率:100%
帮助的人:133万
展开全部
ListItemType.Header指的是标题栏,ListItemType.AlternatingItem指的是交替行。这段代码是指外层DataList中,是标题行或交替行时才对里层的DataList进行数据绑定。而在外层DataList的Header中是找不到内层的DataList2的。如果条件中只保留 e.Item.ItemType==ListItemType.AlternatingItem这个判断,显示的数据会少一半。因而那个if语句的判断应该是这样的:
if(e.Item.ItemType == ListItemType.Item)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式