Comment puis-je ajouter une balise span
à partir d'un code derrière? Existe-t-il un HtmlControl équivalent? Je le fais actuellement de cette façon. Je crée des lignes sur une table dans une implémentation 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);
Je sais que je pourrais utiliser new Label()
, mais j'essaie d'éviter un contrôle serveur ici. Ai-je raison d'utiliser le LiteralControl
de cette façon? Quelqu'un a-t-il de meilleures idées sur la façon de procéder?
Avec HtmlGenericControl vous pouvez créer dynamiquement un span comme ça:
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);
Ou bien:
Label span = new Label {Text = "From<br/>Date", CssClass = "nonExpense"};
headerCell.Controls.Add(span);
new HtmlGenericControl("span")
Je sais que je suis en retard, mais je voulais apporter ma solution à ce problème.
public class HtmlSpan: HtmlGenericControl
{
public HtmlSpan(): base("span") { }
}
Suite à l'idée que notre ami Canavar a dite.
Regardez sous System.Web.UI.HtmlControls namespace et vous verrez tout un tas de contrôles HTML qui ont été mappés à des objets, si vous pouvez les utiliser. HtmlGenericControl s'intègre à tous les contrôles qui ne sont pas définis dans .NET et SPAN en est un exemple.
Codage heureux.
utilisez literalcontrol. vous pouvez ajouter le contenu html que vous souhaitez. Je ne recommande pas d'étiquette. (pour plus d'informations, recherchez -label vs literal-.)