C# 删除元素时,Repeater或DataList DataBind会引发NullReferenceException

C# 删除元素时,Repeater或DataList DataBind会引发NullReferenceException,c#,asp.net,C#,Asp.net,我有个问题快把我逼疯了!我真的希望这里的人能帮我解决这个问题 情况。我有一个中继器,在初始页面加载时显示两个元素。每个元素都有一个删除按钮,用于从数据库中删除该特定元素。当一个元素被删除时,显然应该从中继器列表中删除 问题。当一个元素被删除时,我从数据库中获取列表,并将结果设置为中继器的数据源。然后,我尝试重新绑定数据。如果结果包含的元素超过零,则会引发null引用异常,我无法找出原因(或原因)。 关于何时或是否进行数据绑定,我尝试了不同的方法,并尝试将中继器更改为数据列表,但没有任何运气。我还

我有个问题快把我逼疯了!我真的希望这里的人能帮我解决这个问题

情况。我有一个中继器,在初始页面加载时显示两个元素。每个元素都有一个删除按钮,用于从数据库中删除该特定元素。当一个元素被删除时,显然应该从中继器列表中删除

问题。当一个元素被删除时,我从数据库中获取列表,并将结果设置为中继器的数据源。然后,我尝试重新绑定数据。如果结果包含的元素超过零,则会引发null引用异常,我无法找出原因(或原因)。 关于何时或是否进行数据绑定,我尝试了不同的方法,并尝试将中继器更改为数据列表,但没有任何运气。我还尝试在Repeater/DataList中将EnableViewState设置为false

问题。当我删除一个元素时,如何更新中继器/数据列表?当我第二次调用DataBind时,为什么我总是得到一个空引用异常?第一次是页面加载时

<asp:Datalist ID="CourseInstanceDataList" OnItemCommand="CourseInstanceDataList_ItemCommand" runat="server">
        <ItemTemplate>
                <tr>
                    <td>
                        <%# Eval("Systemname") %>
                    </td>
                    <td align="center">
                        <asp:LinkButton ID="RemoveButton" CommandName="Remove" CommandArgument='<%# Eval("Id") + ";" + organisation.Id %>' runat="server"></asp:LinkButton>                        
                    </td>
                </tr>
        </ItemTemplate>
    </asp:Datalist>
Message=“对象引用未设置为对象的实例。” Source=“App\u Web\u n8fdkbsv” 堆栈跟踪:

   at ASP.custommodules_elearning_admin_organisationcourseinstancelist_ascx.__DataBinding__control4(Object sender, EventArgs e)
   at System.Web.UI.Control.OnDataBinding(EventArgs e)
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at System.Web.UI.Control.DataBind()
   at System.Web.UI.Control.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at System.Web.UI.Control.DataBind()
   at System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem)
   at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
   at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
   at System.Web.UI.WebControls.Repeater.DataBind()

由于中继器标记中的
organization.id
引用,您将获得空引用异常。最初,您是在
Page\u Load
中为此设置值,但在执行回发时,您没有加载它(如果(!IsPostback),则使用


在item命令事件中,您应该去掉局部变量
org
,只需使用您的
organization
私有字段,以便在进行数据绑定时进行设置。

谢谢!我被中继器完全弄瞎了,我没有意识到问题其实在别处。但是没有从异常中得到太多帮助。。。
System.NullReferenceException was unhandled by user code
   at ASP.custommodules_elearning_admin_organisationcourseinstancelist_ascx.__DataBinding__control4(Object sender, EventArgs e)
   at System.Web.UI.Control.OnDataBinding(EventArgs e)
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at System.Web.UI.Control.DataBind()
   at System.Web.UI.Control.DataBindChildren()
   at System.Web.UI.Control.DataBind(Boolean raiseOnDataBinding)
   at System.Web.UI.Control.DataBind()
   at System.Web.UI.WebControls.Repeater.CreateItem(Int32 itemIndex, ListItemType itemType, Boolean dataBind, Object dataItem)
   at System.Web.UI.WebControls.Repeater.CreateControlHierarchy(Boolean useDataSource)
   at System.Web.UI.WebControls.Repeater.OnDataBinding(EventArgs e)
   at System.Web.UI.WebControls.Repeater.DataBind()