DataList嵌套绑定数据时报错:未将对象引用设置到对象的实例。 求解??
页面代码:<asp:DataListID="DataList1"runat="server"onitemdatabound="DataList1_ItemDataBoun...
页面代码:
<asp:DataList ID="DataList1" runat="server"
onitemdatabound="DataList1_ItemDataBound" >
<SelectedItemTemplate>
<asp:DataList ID="DataList2" runat="server" Width="161px">
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" Text='<%# Eval("MingCheng") %>'></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
</SelectedItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("MingCheng") %>'></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
DataList1.DataSource = DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinDaLei", CommandType.Text);
DataList1.DataBind();
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataList dl =e.Item.FindControl("DataList2") as DataList ;
LinkButton LB=e.Item .FindControl ("LinkButton1") as LinkButton ;
string DaLei=LB.Text .ToString ();
dl.DataSource = DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinXiaoLei where DaleiID='"+DaLei +"'" , CommandType.Text);
dl.DataBind();
} 展开
<asp:DataList ID="DataList1" runat="server"
onitemdatabound="DataList1_ItemDataBound" >
<SelectedItemTemplate>
<asp:DataList ID="DataList2" runat="server" Width="161px">
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" Text='<%# Eval("MingCheng") %>'></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
</SelectedItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("MingCheng") %>'></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
DataList1.DataSource = DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinDaLei", CommandType.Text);
DataList1.DataBind();
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
DataList dl =e.Item.FindControl("DataList2") as DataList ;
LinkButton LB=e.Item .FindControl ("LinkButton1") as LinkButton ;
string DaLei=LB.Text .ToString ();
dl.DataSource = DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinXiaoLei where DaleiID='"+DaLei +"'" , CommandType.Text);
dl.DataBind();
} 展开
3个回答
展开全部
不需要这么复杂
protected void Page_Load(object sender, EventArgs e)
{
DataList1.DataSource = DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinDaLei", CommandType.Text);
DataList1.DataBind();
}
这个方法你已经可以绑定前台的数据了
现在有可能是你的数据取方法的位置有问题,还有,不要直接赋值给DataSource,你可以先把取出的数据放在DataSet中,打断点,看看数据是否正确取到
DataSet ds=DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinDaLei", CommandType.Text);
DataList1.DataSource = ds;
DataList1.DataBind();
protected void Page_Load(object sender, EventArgs e)
{
DataList1.DataSource = DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinDaLei", CommandType.Text);
DataList1.DataBind();
}
这个方法你已经可以绑定前台的数据了
现在有可能是你的数据取方法的位置有问题,还有,不要直接赋值给DataSource,你可以先把取出的数据放在DataSet中,打断点,看看数据是否正确取到
DataSet ds=DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinDaLei", CommandType.Text);
DataList1.DataSource = ds;
DataList1.DataBind();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinDaLei", CommandType.Text);
看看此处的dbHelperSQL是不是需要实例化啊?
看看此处的dbHelperSQL是不是需要实例化啊?
追问
不是,实例化了之后也错。
报错的地方是这句:
dl.DataSource = DbHelperSQL.SelectTable("select MingCheng from tb_ShangPinXiaoLei where DaleiID='"+DaLei +"'" , CommandType.Text);
追答
DataList dl =e.Item.FindControl("DataList2") as DataList ;那估计是这行找datalist2时没找到!
你把绑定语句注释,然后给这个对象赋值一个属性看看,如果还报错就是我说的没找到,如果行那就不是这个问题了,你检查一下吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询