Foros del Web » Programando para Internet » ASPX (.net) »

Control para mostrar HTML en pagina ASP.NET

Estas en el tema de Control para mostrar HTML en pagina ASP.NET en el foro de ASPX (.net) en Foros del Web. ¿Que control incluido en una pagina ASP.NET me permitiria asociar codigo HTML para que se representara dentro del mismo? this.divTransformation.InnerHtml = sb.ToString(); ¿que tipo de ...
  #1 (permalink)  
Antiguo 21/11/2005, 05:59
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Control para mostrar HTML en pagina ASP.NET

¿Que control incluido en una pagina ASP.NET me permitiria asociar codigo HTML para que se representara dentro del mismo?

this.divTransformation.InnerHtml = sb.ToString();

¿que tipo de control es divTransformation?

Gracias
__________________
¿Por qué Uri Geller doblaba cucharas?
  #2 (permalink)  
Antiguo 21/11/2005, 12:50
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Para la primera pregunta, puedes utilizar un control Literal para poner código HTML directamente. La segunda, puede ser una etiqueta div u otro elemento que tenga esa propiedad:
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #3 (permalink)  
Antiguo 22/11/2005, 09:45
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Pero hacer eso tiene limitaciones?
Me refiero a: Puedo crear dinamicamente una tabla con sus datos desde codebehind, irlo metiendo en un string todo a pelo, y luego mostrarlo en un asp:label , por ejemplo?
Lo he hecho algunas veces, con poca info, y funciona, pero, podría llegar a meter 500 filas en esa tabla? Qué limitaciones o inconvenientes tiene hacer esto?

Saludos.
__________________
..:: moNTeZIon ::..
  #4 (permalink)  
Antiguo 22/11/2005, 18:10
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 3 meses
Puntos: 7
Hmm, personalmente, no me gusta generar código HTML desde el codebehind. En cuanto a tu pregunta, puedes crear dinámicamente tu tabla con los datos que quieras, pero si piensas ir concatenando en un string simple, no es muy buena idea que digamos, ya que pierdes rendimiento. Deberías utilizar la combinación de la clase HTMLTextWriter (si no me equivoco) y StringBuilder, eso obviamente no puedes ponerlo en un Label, sino en otro tipo de controles (o talvez escribir el el stream de respuesta directamente)...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 23/11/2005, 02:09
Avatar de Nombela  
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años
Puntos: 1
KE problema hay con poner codigo html en el codebehind??? Yo lo utilizo bastante para poner hacer menus dinamicos segun las opciones que tenga el usuario.
Y lo meto todo dentro de un label.
NO es eso correcto????
__________________
:si: El hombre es el único animal que come sin tener hambre, bebe sin tener sed y habla sin tener nada que decir. :si:
  #6 (permalink)  
Antiguo 23/11/2005, 09:47
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
Y lo meto todo dentro de un label.
NO es eso correcto????
mas que correcto es por cuestiones de rendimiento (haciendo incapie a lo que dice known), por lo regular cuando deseas escribir un script en cliente lo haces con las métodos de la página.. algo asi: (usando un string builder para concaternar todo su Javascript)

Cita:
StringBuilder sbJscript = new StringBuilder ();
sbJscript.Append ("<script...");
...
...
Page.RegisterClientScriptBlock("AlgunNombre",
sbJscript.ToString());
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #7 (permalink)  
Antiguo 23/11/2005, 10:46
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Entonces, lo correcto podria ser:

StringBuilder sbJscript = new StringBuilder ();
sbJscript.Append ("<TABLE...");
...
...
Page.RegisterClientScriptBlock("AlgunNombre",
sbJscript.ToString());

Pregunto.

De esta forma no estaríamos perdiendo rendimiento?
__________________
..:: moNTeZIon ::..
  #8 (permalink)  
Antiguo 23/11/2005, 11:13
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
sbJscript.Append ("<TABLE...");
...
...
De esta forma no estaríamos perdiendo rendimiento?
En el caso del que hablaba era para registrar scripts de javascript... y lo que estas colcando es para mostrar HTML que es un caso distinto..

Y tambien lo mas normal es usar un Stringbuilder y posteriormente mostrarlo en un panel dentro de un literal control por ejemplo.
  #9 (permalink)  
Antiguo 03/01/2006, 18:02
Avatar de Nombela  
Fecha de Ingreso: abril-2005
Mensajes: 611
Antigüedad: 19 años
Puntos: 1
Que diferencia habria entre esto:

string strScript;
strScript = "<script>";
strScript += "document.getElementById('ComboClientes').focus(); ";
strScript += "</script>";
Page.RegisterStartupScript ("ClientScript", strScript);

y esto:

StringBuilder sbJscript = new StringBuilder ();
sbJscript.Append ("<script...");
...
...
Page.RegisterClientScriptBlock("AlgunNombre",
sbJscript.ToString());
__________________
:si: El hombre es el único animal que come sin tener hambre, bebe sin tener sed y habla sin tener nada que decir. :si:
  #10 (permalink)  
Antiguo 03/01/2006, 19:01
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Aqui te paso una explicacion mas clara.

http://www.c-sharpcorner.com/Code/20...uilderComp.asp

Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.