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