为什么在代码隐藏中将显示设置为 none 不会将其添加到 HTML?
Why does setting display to none in the code-behind not add it to the HTML?
我正在尝试在代码隐藏中将几个 HtmlTableRow 的显示样式设置为 "display:none",如下所示:
foapalrow3 = new HtmlTableRow();
foapalrow3.ID = "foapalrow3";
foapalrow3.Attributes["display"] = "none";
...但它不起作用 - "View Source" 不包含 foapalrow3 或 -4 的 "display:none"。为什么不,我怎样才能强制它按预期工作?
要么是我的唠叨,要么是这堵墙最终会因此而倒塌;正如这个 所示,我一直像后卫一样猛击砖墙。
display
不是属性的名称。您必须修改 style
属性。
foapalrow3.Attributes["style"] = "display:none";
display
不是 HTML 属性,因此被丢弃。如果要添加 CSS 样式,请使用 Style
而不是 Attributes
,如下所示:
foapalrow3.Style["display"] = "none";
foapalrow4.Style.Add("display", "none"); // alternate syntax
正如其他答案所述,理论上您可以使用 Attributes["style"]
完成同样的事情,但我个人过去曾遇到过问题,Style
属性 是首选(在我看来,更好的)选项。
我正在尝试在代码隐藏中将几个 HtmlTableRow 的显示样式设置为 "display:none",如下所示:
foapalrow3 = new HtmlTableRow();
foapalrow3.ID = "foapalrow3";
foapalrow3.Attributes["display"] = "none";
...但它不起作用 - "View Source" 不包含 foapalrow3 或 -4 的 "display:none"。为什么不,我怎样才能强制它按预期工作?
要么是我的唠叨,要么是这堵墙最终会因此而倒塌;正如这个
display
不是属性的名称。您必须修改 style
属性。
foapalrow3.Attributes["style"] = "display:none";
display
不是 HTML 属性,因此被丢弃。如果要添加 CSS 样式,请使用 Style
而不是 Attributes
,如下所示:
foapalrow3.Style["display"] = "none";
foapalrow4.Style.Add("display", "none"); // alternate syntax
正如其他答案所述,理论上您可以使用 Attributes["style"]
完成同样的事情,但我个人过去曾遇到过问题,Style
属性 是首选(在我看来,更好的)选项。