【【【【【【【【【【【datalist嵌套绑定数据的问题】】】】】】】】】】】】】
代码如下:<asp:DataList Width="100%" ID="dglist" runat="server" RepeatColumns="200" ShowFooter="False"
ShowHeader="False" RepeatLayout="Flow" OnItemDataBound="dglist_ItemDataBound">
<ItemTemplate>
<table width="100%" cellpadding="0" cellspacing="0">
<tr class="tr_bground">
<td width="2%">
<img src="../Image/PublicImage/menu_close.gif" id="img_<%#DataBinder.Eval(Container.DataItem,"sections_id") %>"
onclick="open_close('img_<%#DataBinder.Eval(Container.DataItem,"sections_id") %>','trnews_<%#DataBinder.Eval(Container.DataItem,"sections_id") %>')" />
</td>
<td class="td_control_left" width="4%" nowrap>
<asp:Label ID="sections_id" runat="SERVER" Visible="false" Text='<%#DataBinder.Eval(Container.DataItem,"sections_id") %>'></asp:Label>
<%#DataBinder.Eval(Container.DataItem,"sections_name") %>
</td>
<td class="td_left" width="10%" nowrap>
<span style="color: Red; font-weight: bold;">>> [共有<%#getNum(DataBinder.Eval(Container.DataItem,"sections_id"))%>條信息]</span>
</td>
<td class="td_left">
<a href="#">進入...</a>
</td>
</tr>
<tr id="trnews_<%#DataBinder.Eval(Container.DataItem,"sections_id") %>" style="display: block;">
<td colspan="4" class="td_left">
<asp:DataList ID="dlin" runat="Server" Width="100%" CssClass="DataList_Table" CellPadding="4">
<ItemTemplate>
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td class="td_left">
<img src="../Image/PublicImage/new_arrow.gif" />
<a href="#" onclick="window.open('News_Promulgate_View.aspx?nid=<%#DataBinder.Eval(Container.DataItem,"NEWS_ID") %>','','toolbar=no,resizable=yes,scrollbars,help=No,width=800,height=600,top=0,left=0;',true)""><%#DataBinder.Eval(Container.DataItem,"title") %></a>
(<%#DataBinder.Eval(Container.DataItem,"announce_date","{0:yyyy-MM-dd}") %>
<%#DataBinder.Eval(Container.DataItem, "emp_name")%>)
</td>
</tr>
</table>
</ItemTemplate>
<ItemStyle CssClass="DataList_Item" />
<AlternatingItemStyle CssClass="DataList_AlternatingItemStyle" />
</asp:DataList>
</td>
</tr>
<tr id="nodata_<%#DataBinder.Eval(Container.DataItem,"sections_id") %>" style="display: none;">
<td class="listno_news" colspan="4">
<asp:Label ID="lbnodata" runat="Server" Text="無任何記錄"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
function函数如下:
function checkdata()
{
var tr=document.getElementById("nodata");
var hid=document.getElementById("hid");
//alert(hid.value);
if(hid.value=="0")
{
tr.style.display="block";
}else
{
tr.style.display="none";
}
}
后台cs item_databound事件如下:
protected void dglist_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
DataList dl = new DataList();
dl = (DataList)e.Item.FindControl("dlin");
Label lb = new Label();
lb = (Label)e.Item.FindControl("sections_id");
string sid = lb.Text;
string getNews = "select a.*,b.emp_name from oa_news as a,oa_emp as b where a.announce_emp_id=b.emp_id and a.sections_id='" + sid + "'";
DataSet ds = db.getDataSet(getNews, "oa_news");
dl.DataSource = ds;
dl.DataBind();
if (ds.Tables["oa_news"].Rows.Count == 0)
{
hid.Value = "0";
}
else
{
hid.Value = "1";
}
}
}
我想的是多个datalist分别绑定不同的东西,如果其中的datalist没有任何项,就把隐藏tr:没有任何数据 显示出来,但是现在的代码是只显示在第一个datalist上,而第一个datalist却有值,第四个才没有值,怎么改? --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- --------------------编程问答--------------------
补充:.NET技术 , ASP.NET