c# - 在 asp.net 中删除行

标签 c# asp.net .net-3.5

我正在尝试使用以下代码删除我的 asp.net 页面上的行:

    try
    {
        Table t = (Table)Page.FindControl("Panel1").FindControl("tbl");
        foreach (TableRow tr in t.Rows)
        {
           t.Rows.Remove(tr);
        }
    }
    catch (Exception e)
    {
        lblErrorMessage.Text = "Error - RemoveDynControls - " + e.Message;
    }

但是,我在(当代码第二次循环时)出现错误 “集合已修改;枚举操作可能无法执行。”

关于导致错误消息的原因有什么想法吗?

最佳答案

如果你想清除所有行你可以

t.Rows.Clear();

如果您需要删除某些行,请向后遍历集合

for(int i=t.Rows.Count-1;i>0;i--)

关于c# - 在 asp.net 中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2721027/

相关文章:

c# - Azure Functions - 获取中间件中的参数值

c# - Entity Framework 代码优先遇到延迟

c# - 如何让一个对象订阅另一个事件,同时保持两者松散耦合?

c# - 递归例程获取PropertyInfo

c# - 使用反射来指定委托(delegate)的类型(附加到事件)?

c# - WPF ListBox 在用户滚动时生成项目

c# - 连接两个具有匿名类型的 IQueryable?

asp.net - 如何绑定(bind)中继器内部的下拉列表?

c# - 永远等待本地主机!

c# - 使用异步套接字的回调