usuario tutorial que net desde controles code cero behind asp c# asp.net html code-behind

c# - tutorial - controles de usuario



¿Agregar programáticamente una etiqueta span, no un control Label? (6)

Con HtmlGenericControl puede crear un tramo dinámicamente así:

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

¿Cómo puedo agregar una etiqueta span de un código? ¿Hay un HtmlControl equivalente? Actualmente lo estoy haciendo de esta manera. Estoy construyendo filas en una tabla en una implementación 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);

Sé que podría usar new Label() , pero estoy tratando de evitar un control de servidor aquí. ¿Estoy en lo correcto al usar LiteralControl esta manera? ¿Alguien tiene alguna mejor idea de cómo hacer esto?


Sé que llego tarde, pero quería brindar mi solución para este problema.

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


Siguiendo la idea que nuestro amigo Canavar dijo.

Busque en el espacio de nombres System.Web.UI.HtmlControls y verá un montón de controles HTML que se han asignado a los objetos, si puede usarlos. HtmlGenericControl se ajusta a cualquier control que no esté definido en .NET y SPAN es un ejemplo de eso.

Feliz Codificación.


use literalcontrol. puede agregar cualquier contenido html que desee. No recomiendo la etiqueta. (para más información busque -label vs literal-.)


Label span = new Label(); span.Text = "From<br/>Date"; span.CssClass = "nonExpense"; headerCell.Controls.Add(span);

O alternativamente:

Label span = new Label {Text = "From<br/>Date", CssClass = "nonExpense"}; headerCell.Controls.Add(span);


new HtmlGenericControl("span")