Ответ 1
С помощью HtmlGenericControl вы можете создать динамический диапазон таким образом:
var span = new HtmlGenericControl("span");
span.InnerHtml = "From<br/>Date";
span.Attributes["class"] = "nonExpense";
headerCell.Controls.Add(span);
Как добавить тег 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
таким образом? У кого-нибудь есть лучшие идеи о том, как это сделать?
С помощью HtmlGenericControl вы можете создать динамический диапазон таким образом:
var span = new HtmlGenericControl("span");
span.InnerHtml = "From<br/>Date";
span.Attributes["class"] = "nonExpense";
headerCell.Controls.Add(span);
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);
new HtmlGenericControl("span")
Следуя идее, которую сказал наш друг Канавар.
Посмотрите в пространстве имен System.Web.UI.HtmlControls, и вы увидите целую кучу элементов управления HTML, которые были сопоставлены с объектами, если вы можете их использовать. HtmlGenericControl подходит для любых элементов управления, которые не определены в .NET, а SPAN - пример этого.
Счастливое кодирование.
Я знаю, что опаздываю, но я хотел бы предоставить свое решение для этой проблемы.
public class HtmlSpan: HtmlGenericControl
{
public HtmlSpan(): base("span") { }
}
используйте literalcontrol. вы можете добавить любой контент html, который вы хотите. Я не рекомендую ярлык. (для получения дополнительной информации найдите -label vs literal -.)