【问题标题】:Dynamically added table in asp.net not clearing styles在 asp.net 中动态添加表不清除样式
【发布时间】:2013-04-23 20:54:44
【问题描述】:

我有一个表格,它的行是在后面的代码中动态添加的。该表位于更新面板内:

 <asp:UpdatePanel runat="server" ID="upnlPR">
        <ContentTemplate>
            <asp:Table ID="tblPR" runat="server">
            </asp:Table>
        </ContentTemplate>
    </asp:UpdatePanel>

当我在后面的代码中执行 tblPR.Rows.Clear() 时,表格再次正确绘制,但似乎在重绘之前应用于该位置的行的格式仍然应用于单元格这是不正确的。知道为什么会这样吗?

我已尝试使 UpdatePanel updatemode 有条件并在清除行后执行 upnlPR.Update() 但此问题仍然存在。特别的问题是:应用于该行号/单元格位置中的单元格的样式仍然适用,该行号/单元格位置中的单元格的列跨度仍然适用。

谢谢!

(asp.Net, C#)

为单元格设置样式cell.CssClass = competencyAchievementView.ManagerScore > competencyAchievementView.UserScore ? "manWorseScore" : "manBetterScore";

【问题讨论】:

  • 你说的是哪种格式?
  • 你能告诉我们你是如何设计这些物品的吗?
  • 将样式代码添加到问题中
  • @Bartdude:我说的是单元格和 colspan 的背景颜色

标签: c# asp.net


【解决方案1】:

我认为您应该简单地删除行或整个表格控件并将其添加回页面。 clear() 函数旨在删除内容,而不是样式。 但也许你也可以,在你的绑定中(也许它也有助于向我们展示这一点),简单地初始化它?我的意思是,如果我理解得很好,除了类 manWorseScore 和 manBetterScore,你还有第三种可能性(没有风格),对吧?

【讨论】:

  • 如果我说 tblPR = new Table();然后它永远不会向表中添加行。很奇怪。
  • 我最终遍历了每一行并做了一个 tblPR.Rows.RemoveAt(i)... 谢谢。我认为 Rows.Clear() 会达到同样的效果
猜你喜欢
  • 1970-01-01
  • 2016-08-14
  • 2011-06-12
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
  • 2017-11-16
  • 2018-05-11
相关资源
最近更新 更多