PlaceHolder using Listview Error

asp.net

Below is my markup code which upon compiling gives me the error message.I have searchd for hours in google but cannot help myself.What is the incoorect code in my markup.
I have a cs file for this pagewhich binds data to this listview conrol

Any help to fix this will be greatly helpful

Error Message:An item placeholder must be specified on ListView 'listview1'. Specify an item placeholder by setting a control's ID property to "itemContainer". The item placeholder control must also specify runat="server".

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Attestation2.aspx.cs" Inherits="Attestation2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body style="z-index: 1; left: 21px; top: 0px; position: absolute; height: 313px;
    width: 983px">
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="Entitlementdlist" runat="server" AutoPostBack="true" Visible="true"
            ToolTip="All the Requests in this dropdown are Entitlement Requests only">
        </asp:DropDownList>
        <%--asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>--%>
        <asp:ListView ID="listview1" runat="server" ItemPlaceholderID="itemplaceholder" >

            <ItemTemplate>
                <table style="border:1px solid black;">
                    <tr>
                        <td>Report Name</td>
                        <td><asp:TextBox ID="ReportNameLbl" runat="server" Text='<%#Eval("REPORT_DESCRIPTION.rptdesctext") %>' Width="500"></asp:TextBox> </td>
                        <td>
                        <asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal">
                             <asp:ListItem Text="Yes" Value="Yes"></asp:ListItem>
                                <asp:ListItem Text="No" Value="No"></asp:ListItem>
                            </asp:CheckBoxList>
                        </td>
                    </tr>
                    <tr>
                        <td>Content Description</td>
                        <td>
                        <asp:Label ID="ContentDescLbl" Text='<%#Eval("REPORT_REQUEST.StopLossMax") %>' runat="server" ></asp:Label>
                        </td>
                        <td>
                        <asp:CheckBoxList ID="CheckBoxList2" runat="server" RepeatDirection="Horizontal">
                             <asp:ListItem Text="Yes" Value="Yes"></asp:ListItem>
                                <asp:ListItem Text="No" Value="No"></asp:ListItem>
                            </asp:CheckBoxList>
                        </td>




                    </tr>
                    <tr>

                    <td>
                    Frequency
                    </td>
                    <td>
                     <asp:Label ID="frequencyLbl" Text='<%#Eval("REPORT_REQUEST.reportfrequency") %>' runat="server" ></asp:Label>
                    </td>
                    <td>
                    <asp:CheckBoxList ID="CheckBoxList3" runat="server" RepeatDirection="Horizontal">
                             <asp:ListItem Text="Yes" Value="Yes"></asp:ListItem>
                                <asp:ListItem Text="No" Value="No"></asp:ListItem>
                            </asp:CheckBoxList>
                    </td>
                    </tr>
                    <tr>
                    <td>
                    Recepients
                    </td>
                    <td colspan="2">
                    <td>
                    <asp:ListView ID = "lstview2" runat = "server" >
                     </asp:ListView>
                    </td>
                    </td>
                    </tr>
                </table>

                </asp:Table>--%>
            </ItemTemplate>
        </asp:ListView>
    </div>
    </form>
</body>
</html>

Best Answer

Inside your ListView you've to add a LayoutTemplate containing the PlaceHolder:

<asp:ListView ID="listview1" runat="server" ItemPlaceholderID="itemplaceholder" >
    <LayoutTemplate>
        <asp:PlaceHolder ID="itemplaceholder" runat="server" />
    </LayoutTemplate>
    <ItemTemplate>
        ...
    </ItemTemplate>
</asp:ListView>
Related Topic