PlaceHolder使用Listview错误

时间:2012-06-11 18:19:50

标签: asp.net

下面是我的标记代码,在编译时给出了错误信息。我在google中搜索了几个小时但是无法帮助自己。我的标记中的不完整代码是什么。 我有一个这个页面的cs文件,它将数据绑定到这个listview conrol

任何帮助解决这个问题都会非常有帮助

错误消息:必须在ListView“listview1”上指定项目占位符。通过将控件的ID属性设置为“itemContainer”来指定项占位符。项占位符控件还必须指定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>

1 个答案:

答案 0 :(得分:2)

在ListView中,你要添加一个包含PlaceHolder的LayoutTemplate:

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