当前位置:编程学习 > C#/ASP.NET >>

【【【【【【【【【【【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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,