嵌套转发器 - 访问父转发器中的项目计数

我是 ASP.NET 新手,正在努力将一些页面从 ColdFusion 转换为 .NET 和 C#。在 ColdFusion 中,我正在对记录集、计划和计划详细信息进行嵌套循环,为每个计划及其详细信息创建一个表,并隐藏除活动表之外的所有表。渲染表格时,我在表格的第一行中创建导航机制,它将显示上一个或下一个表格并隐藏当前表格(通过 jQuery):


<< 07/15/2019 - 07/22/2019 >>    

[schedule details rows]

这在 Coldfusion 中是微不足道的,但我花了几个小时尝试在 ASP.NET 中复制它,但没有成功。我需要知道项目总数(父记录的数量),并有条件地相应地渲染 V 形,具体取决于我是在第一个、最后一个还是中间记录上。


我尝试使用会话变量,在后面的代码中:


int count = repScheduleDates.Items.Count;

Session["scheduleDatesCount"] = count;


Debug.WriteLine("Session[scheduleDatesCount]: " + Session["scheduleDatesCount"]);

如果我有 2 条记录,调试打印将显示 2。但是,在 aspx 文件中


<%#Session["scheduleDatesCount"]%>

什么也没显示(不是 0;只是没有输出)。


如果我在 aspx 中这样做:


<%# repScheduleDates.Items.Count %>

它显示当前的项目编号;0 或 1,而不是总数。


<asp:Repeater runat="server" id="repScheduleDates">

        <HeaderTemplate>

            <table style="border:1px solid #0000FF;">  

        </HeaderTemplate>

        <ItemTemplate>

                <tr style="background-color:#FF6600; color:#000000; font-size: large;">  

                    <td style="text-align: center;" colspan="6">

                        <%-- I need a conditional statement here to add the appropriate class if first record or not --%>

                        <i id="leftNav_<%#Container.ItemIndex%>" class="fa fa-chevron-left"></i> 

                            <%#Eval("schStartDate") %> - <%#Eval("schEndDate") %>

                        <%-- I need a conditional statement here to add the appropriate class if last record or not --%>

                        <i id="rightNav_<%#Container.ItemIndex%>" class="fa fa-chevron-right"></i> 

                    </td>  

                </tr>


如何获取父中继器中的项目总数?


UYOU
浏览 110回答 1
1回答

汪汪一只猫

<%#Session["scheduleDatesCount"]%>这样就不会显示记录了。要么使用<%=Session["scheduleDatesCount"]%>或者在 .cs 页面上创建公共变量计数并显示在 aspx 页面上,例如<%=count%>
打开App,查看更多内容
随时随地看视频慕课网APP