如何从后面的代码中添加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
这种方式?有没有人对如何做到更好?
答案 0 :(得分:70)
使用HtmlGenericControl,您可以动态创建跨度:
var span = new HtmlGenericControl("span");
span.InnerHtml = "From<br/>Date";
span.Attributes["class"] = "nonExpense";
headerCell.Controls.Add(span);
答案 1 :(得分: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);
答案 2 :(得分:2)
new HtmlGenericControl("span")
答案 3 :(得分:1)
遵循我们的朋友Canavar所说的想法。
在System.Web.UI.HtmlControls命名空间下查看,如果可以使用那些,您将看到已映射到对象的一大堆HTML控件。 HtmlGenericControl适用于任何未在.NET中定义的控件,SPAN就是这样的例子。
快乐编码。
答案 4 :(得分:1)
我知道我迟到了,但我想为这个问题提供解决方案。
public class HtmlSpan: HtmlGenericControl
{
public HtmlSpan(): base("span") { }
}
答案 5 :(得分:0)
使用literalcontrol。你可以添加你想要的任何HTML内容。 我不推荐标签。 (有关更多信息,请搜索-label vs literal - 。)