两个DATALIST嵌套,后找到控件的值怎么取不到值呢?
前台的代码
<asp:Datalist id="ShowNew" runat="server" RepeatColumns="3" Width="100%">
<ItemTemplate> <asp:Label ID="LabelCatID" runat="server"><%#DataBinder.Eval (Container, "DataItem.PKID")%></asp:Label>[/b]被取值得控件 <asp:DataList id="ShowNewDate" runat="server">
<ItemTemplate> <a href='AtiShow.aspx?PKID=<%# DataBinder.Eval(Container, "DataItem.PKID") %>' target=_blank class=mapLink>
<img src="PICS/1.gif" align="absmiddle" style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"><%# DataBinder.Eval(Container, "DataItem.Title") %></a><font color="#999999">[<%# DataBinder.Eval(Container, "DataItem.LastEditTime") %>]</font> </ItemTemplate> </asp:DataList>
</ItemTemplate>
</asp:Datalist>后台代码是!private void ShowNew_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if ( e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
{
DataList dl = null;
Label lblTypeID = null;
int number=0;
dl = (DataList)e.Item.FindControl("ShowNewDate");
lblTypeID=(Label)e.Item.FindControl ("LabelCatID");取值的地方!为什么起到的Label的值为“”
number=Convert.ToInt32 (lblTypeID.Text.Trim());
Search sh1 = new Search();
KBS.Common.AticlesData objs=sh1.getAtiByCat (number);
dl.DataSource=objs.Tables [0].DefaultView ;
dl.DataBind();
sh1.Dispose();
} }菜鸟提问!多多指点!
前台的代码
<asp:Datalist id="ShowNew" runat="server" RepeatColumns="3" Width="100%">
<ItemTemplate> <asp:Label ID="LabelCatID" runat="server"><%#DataBinder.Eval (Container, "DataItem.PKID")%></asp:Label>[/b]被取值得控件 <asp:DataList id="ShowNewDate" runat="server">
<ItemTemplate> <a href='AtiShow.aspx?PKID=<%# DataBinder.Eval(Container, "DataItem.PKID") %>' target=_blank class=mapLink>
<img src="PICS/1.gif" align="absmiddle" style="BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"><%# DataBinder.Eval(Container, "DataItem.Title") %></a><font color="#999999">[<%# DataBinder.Eval(Container, "DataItem.LastEditTime") %>]</font> </ItemTemplate> </asp:DataList>
</ItemTemplate>
</asp:Datalist>后台代码是!private void ShowNew_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
if ( e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem )
{
DataList dl = null;
Label lblTypeID = null;
int number=0;
dl = (DataList)e.Item.FindControl("ShowNewDate");
lblTypeID=(Label)e.Item.FindControl ("LabelCatID");取值的地方!为什么起到的Label的值为“”
number=Convert.ToInt32 (lblTypeID.Text.Trim());
Search sh1 = new Search();
KBS.Common.AticlesData objs=sh1.getAtiByCat (number);
dl.DataSource=objs.Tables [0].DefaultView ;
dl.DataBind();
sh1.Dispose();
} }菜鸟提问!多多指点!
取到的值为“”值!而<%#DataBinder.Eval (Container, "DataItem.PKID")%> 有值!数据的绑定没有问题!
就在取值时发现e.Item.FindControl ("LabelCatID")为空值! 这是怪事!怪啊!