以编程方式添加跨度标签,而不是标签控件?
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);
【讨论】:
以上是关于以编程方式添加跨度标签,而不是标签控件?的主要内容,如果未能解决你的问题,请参考以下文章