texto saltos salto quitar pequeño nbsp linea imagenes hacer espacio entre como asp.net dynamic button line-breaks placeholder

asp.net - saltos - salto de linea pequeño html



¿Cómo crear saltos de línea entre etiquetas generadas dinámicamente en un marcador de posición? (3)

Este es el código a continuación en el código detrás del evento Page_Load del archivo:

LinkButton linkButton = new LinkButton(); linkButton.ID = "LinkButtonDynamicInPlaceHolder1Id" + i; linkButton.ForeColor = Color.Blue; linkButton.Font.Bold = true; linkButton.Font.Size = 14; linkButton.Font.Underline = false; linkButton.Text = itemList[i].ItemTitle.InnerText; linkButton.Click += new EventHandler(LinkButton_Click); linkButton.Attributes.Add("LinkUrl",itemList[i].ItemLink.InnerText); PlaceHolder1.Controls.Add(linkButton); Label label = new Label(); label.ID = "LabelDynamicInPlaceHolder1Id" + i; label.ForeColor = Color.DarkGray; label.Text = itemList[i].ItemDescription.InnerText; PlaceHolder1.Controls.Add(label);

Quiero un salto de línea entre cada control generado.


La solución a su problema de salto de línea se encuentra a continuación, sin embargo, si está haciendo esto en el evento Page_Load, sus controladores de eventos no funcionarán y se encontrará con problemas en el ciclo de vida de la página. Básicamente, para que los controladores de eventos se activen en PostBack, realmente necesita crear estos controles dinámicos en una etapa más temprana del ciclo de vida de la página. Intente mover su código al método OnInit si se encuentra con este problema.

LinkButton linkButton = new LinkButton(); linkButton.ID = "LinkButtonDynamicInPlaceHolder1Id" + i; linkButton.ForeColor = Color.Blue; linkButton.Font.Bold = true; linkButton.Font.Size = 14; linkButton.Font.Underline = false; linkButton.Text = itemList[i].ItemTitle.InnerText; linkButton.Click += new EventHandler(LinkButton_Click); linkButton.Attributes.Add("LinkUrl",itemList[i].ItemLink.InnerText); PlaceHolder1.Controls.Add(linkButton); //Add This PlaceHolder1.Controls.Add(new LiteralControl("<br />")); Label label = new Label(); label.ID = "LabelDynamicInPlaceHolder1Id" + i; label.ForeColor = Color.DarkGray; label.Text = itemList[i].ItemDescription.InnerText; PlaceHolder1.Controls.Add(label);


Otra solución es que podría agregar cada control a un Panel, lo que los convertirá en un <div> dando como resultado el efecto que está buscando.

Para mí, esto sería más dinámico porque si ocultas alguno de los controles, el div colapsará y no dejará líneas vacías.

LinkButton linkButton = new LinkButton(); linkButton.ID = "LinkButtonDynamicInPlaceHolder1Id" + i; linkButton.ForeColor = Color.Blue; linkButton.Font.Bold = true; linkButton.Font.Size = 14; linkButton.Font.Underline = false; linkButton.Text = itemList[i].ItemTitle.InnerText; linkButton.Click += new EventHandler(LinkButton_Click); linkButton.Attributes.Add("LinkUrl",itemList[i].ItemLink.InnerText); //Add control to a panel, add panel to placeholder Panel lbPan = new Panel(); lbPan.Controls.Add(linkButton); PlaceHolder1.Controls.Add(lbPan); Label label = new Label(); label.ID = "LabelDynamicInPlaceHolder1Id" + i; label.ForeColor = Color.DarkGray; label.Text = itemList[i].ItemDescription.InnerText; //Add control to a panel, add panel to placeholder Panel lblPan = new Panel(); lblPan.Controls.Add(label); PlaceHolder1.Controls.Add(lblPan);


Cómo agregar controles a una página web ASP.NET mediante programación

En algunos casos, es posible que desee crear tanto texto estático como controles. Para crear texto estático, puede utilizar un control de servidor Literal o Label Web . Luego puede agregar estos controles al contenedor como lo haría con cualquier otro control. Para obtener información sobre el estado de la vista en los controles creados en tiempo de ejecución, consulte Controles del servidor web dinámico y Estado de vista.