C# asp:repeater是否可以使用空列表作为数据源?

C# asp:repeater是否可以使用空列表作为数据源?,c#,asp.net,repeater,C#,Asp.net,Repeater,我有这个标记: <asp:Repeater ID="appsRepeater" runat="server"> <ItemTemplate> <li> <div class="clearfix"> <a href="---some code I emitted--"> &

我有这个标记:

    <asp:Repeater ID="appsRepeater" runat="server">
        <ItemTemplate>
            <li>
                <div class="clearfix">
                    <a href="---some code I emitted--">
                        <img width="20" height="20" src="<%#DataItem.ThumbnailUrl%>" alt="" />
                        <span title="<%#Server.HtmlEncode(DataItem.Name)%>"><%#MarketplaceUIAdapter.EncodeTrimText(DataItem.Name,15)%></span>
                    </a>
                    <div class="app_links">
                        <a href="---some code I emitted--" class="text_link">
                            Edit</a>
                        <asp:LinkButton runat="server" CssClass="text_link" OnClick="DeleteApp" OnClientClick='<%# string.Format("return confirmDelete(\"{0}\",\"{1}\")",DataItem.Name.Replace("\"","&qout;"), DataItem.AppType)%>' CommandArgument="<%#DataItem.Id.ToString()%>" analyticstrackingpath="/virtual/apps/myappslist/Delete">Delete</asp:LinkButton>
                    </div>
                </div>
            </li>
        </ItemTemplate>
    </asp:Repeater>
我看到某个人是空的,所以我想做一个安全检查:

            if (Person!= null)
            {
                // same as above   

            }

        else
        {
            appsRepeater.DataSource = new List<IApp>();
            appsRepeater.DataBind();
        }

问题是我发送了一个
new List()
而不是新的
IApp[0]

问题是我发送了一个
new List()
而不是新的
IApp[0]

它可以设置为空列表。请发布您收到的完整错误消息,我们将了解真正的问题所在。我的直觉是,
Apps
的类型不是
IApp
——可能是实现该接口的其他类型。它可以设置为空列表。请发布您收到的完整错误消息,我们将了解真正的问题所在。我的直觉是,
Apps
的类型不是
IApp
——可能是实现该接口的其他东西。
            if (Person!= null)
            {
                // same as above   

            }

        else
        {
            appsRepeater.DataSource = new List<IApp>();
            appsRepeater.DataBind();
        }
Line 55:                        %>
Line 56:                     <Toolbar:Selector ID="Selector1" runat="server"></Toolbar:Selector>
Line 57:                        <%}
Line 58: %>
Line 59:                     

Source File: d:\MyName\RnD\Server\Services\ControlPanel\Dev-SSO-1.0-RewardsWithWibiya\ControlPanel\Masters\ControlPanelMaster.Master    Line: 57 
[NullReferenceException: Object reference not set to an instance of an object.]
   **ASP.browserapps_controls_myapps_ascx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) +52**
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +114
   ASP.browserapps_controls_createapp_ascx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in D:\MyName\RnD\Serve:172
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +114
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +239
   ASP.masters_controlpanelmaster_master.__RenderfrmMain(HtmlTextWriter __w, Control parameterContainer) in d:\MyName\RnD\Server\Services\ControlPanel\Dev-SSO-1.0-RewardsWithWibiya\ControlPanel\Masters\ControlPanelMaster.Master:57
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +114
   System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +252
   System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +86
   System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +52
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +239
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +239
   System.Web.UI.Page.Render(HtmlTextWriter writer) +37
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4239