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