Repeater control is not displaying the data from the database call

32 Views Asked by At

I have a repeater control that some data is loading, but I am not getting the data for the ItemTemplate. I have verified that what comes back from the db is in src[0][0], but it is not showing up. I have tried using List<> and that didn't work. Thanks in advance.

HTML

<asp:Repeater ID="GroupRepeater" OnItemDataBound="GroupRepeater_ItemDataBound" runat="server">
    <ItemTemplate>
        <asp:HiddenField ID="CompanyName" runat="server" />
        <h6><span></span> <%# Eval("BoardGroupName") %></h6>
        <h6><span class="location"></span> <%# Eval("CompanyName") %></h6>
        <table id="meeting_events">
            <asp:Repeater ID="MemberRepeater" runat="server">
                <HeaderTemplate>
                   <some stuff />
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <div class="d-block d-md-none">
                                <asp:Label runat="server">Name<%# Eval("BoardMemberName") %></asp:Label>
                                <br/>
                            </div>
                        </td>
                    </tr>
                </ItemTemplate>
            </asp:Repeater>
        </table>
    </ItemTemplate>
</asp:Repeater>

Code Behind

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        if (!Page.IsPostBack)
        {
            //load board members
            GroupRepeater.DataSource = DbHelper.SqlStoredProcedureDataTable("spQueryBoardMemberGroups", ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            GroupRepeater.DataBind();
            divMessage.Visible = false;
        }
    }
    catch (Exception ex)
    {
        HelperFunctions.Logger.Error("Website" + ex.ToString(), MethodBase.GetCurrentMethod());
        lblMessage.Text = "Error encounted and logged, contact support - Method that failed = " + MethodBase.GetCurrentMethod().Name;
    }
}

protected void GroupRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    try
    {
        DataRowView groupRow = (DataRowView)e.Item.DataItem;
        Repeater memberRepeater = (Repeater)e.Item.FindControl("MemberRepeater");

        if (memberRepeater != null && groupRow != null)
        {
            string companyName = groupRow.Row["CompanyName"].ToString();
            string constr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            DataTable src = DbHelper.SqlStoredProcedure1ParamDataTable("spQueryBoardMembers", "@CompanyName", companyName, constr);

            memberRepeater.DataSource = src;
            memberRepeater.DataBind();
        }
    }
    catch (Exception ex)
    {
        HelperFunctions.Logger.Error("Website" + ex.ToString(), MethodBase.GetCurrentMethod());
        lblMessage.Text = "Error encounted and logged, contact support - Method that failed = " + MethodBase.GetCurrentMethod().Name;
    }
}
1

There are 1 best solutions below

1
DotNetter On

The problem was

<div class="d-block d-md-none">

I changed to

<div class="d-none d-md-inline">