以编程方式添加跨度标签,而不是标签控件?

Posted

技术标签:

【中文标题】以编程方式添加跨度标签,而不是标签控件?【英文标题】:Programmatically add a span tag, not a Label control? 【发布时间】:2010-12-20 10:15:14 【问题描述】:

如何从后面的代码中添加span 标签?是否有等效的 htmlControl?我目前正在这样做。我正在 Itemplate 实现中将行构建到表中。

var headerCell = new TableHeaderCell  Width = Unit.Percentage(16);
var span = new LiteralControl("<span class='nonExpense'>From<br/>Date</span>");
headerCell.Controls.Add(span);
headerRow.Cells.Add(headerCell);

我知道我可以使用new Label(),但我试图避免在这里使用服务器控制。我以这种方式使用LiteralControl 是否正确?有没有人对如何做到这一点有更好的想法?

【问题讨论】:

【参考方案1】:

我知道我迟到了,但我想为这个问题提供我的解决方案。

public class HtmlSpan: HtmlGenericControl

  public HtmlSpan(): base("span")  

【讨论】:

【参考方案2】:

使用文字控制。你可以添加任何你想要的 html 内容。 我不推荐标签。 (更多信息搜索-标签与文字-。)

【讨论】:

【参考方案3】:
new HtmlGenericControl("span")

【讨论】:

【参考方案4】:
Label span = new Label();
span.Text = "From<br/>Date";
span.CssClass = "nonExpense";
headerCell.Controls.Add(span);

或者,或者:

Label span = new Label Text = "From<br/>Date", CssClass = "nonExpense";
headerCell.Controls.Add(span);

【讨论】:

这不是要创建label标签吗?【参考方案5】:

遵循我们的朋友 Canavar 所说的想法。

查看 System.Web.UI.HtmlControls 命名空间,您会看到一大堆已映射到对象的 HTML 控件(如果您可以使用这些控件)。 HtmlGenericControl 适合任何未在 .NET 中定义的控件,SPAN 就是一个例子。

快乐编码。

【讨论】:

【参考方案6】:

使用 HtmlGenericControl,您可以像这样动态创建跨度:

var span = new HtmlGenericControl("span");
span.InnerHtml = "From<br/>Date";
span.Attributes["class"] = "nonExpense";
headerCell.Controls.Add(span);

【讨论】:

以上是关于以编程方式添加跨度标签,而不是标签控件?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式更改初始标签栏选择

以编程方式将控件添加到 WPF 表单

如何以编程方式添加标签并以编程方式使用自动布局定位它

如果以编程方式处理,选择标签不会更新/填充

以编程方式向已以编程方式添加到表格单元格的标签添加约束

iOS Swift标签栏控制器以编程方式添加项目(新标签)