Подтвердить что ты не робот

Программно добавить тег span, а не элемент управления Label?

Как добавить тег 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 таким образом? У кого-нибудь есть лучшие идеи о том, как это сделать?

4b9b3361

Ответ 1

С помощью HtmlGenericControl вы можете создать динамический диапазон таким образом:

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

Ответ 2

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);

Ответ 3

new HtmlGenericControl("span")

Ответ 4

Следуя идее, которую сказал наш друг Канавар.

Посмотрите в пространстве имен System.Web.UI.HtmlControls, и вы увидите целую кучу элементов управления HTML, которые были сопоставлены с объектами, если вы можете их использовать. HtmlGenericControl подходит для любых элементов управления, которые не определены в .NET, а SPAN - пример этого.

Счастливое кодирование.

Ответ 5

Я знаю, что опаздываю, но я хотел бы предоставить свое решение для этой проблемы.

public class HtmlSpan: HtmlGenericControl
{
  public HtmlSpan(): base("span") { }
}

Ответ 6

используйте literalcontrol. вы можете добавить любой контент html, который вы хотите. Я не рекомендую ярлык. (для получения дополнительной информации найдите -label vs literal -.)