Foros del Web » Programación para mayores de 30 ;) » .NET »

Duda esistencial C# - default.aspx

Estas en el tema de Duda esistencial C# - default.aspx en el foro de .NET en Foros del Web. Hola buenas, Tengo una duda que no se si será posible de resolver... Todo el código html que hay en el Default.aspx es estrictamente necesario ...
  #1 (permalink)  
Antiguo 16/06/2009, 03:47
 
Fecha de Ingreso: mayo-2009
Mensajes: 42
Antigüedad: 14 años, 10 meses
Puntos: 1
Duda esistencial C# - default.aspx

Hola buenas,

Tengo una duda que no se si será posible de resolver...

Todo el código html que hay en el Default.aspx es estrictamente necesario que aparezca?.

Lo pregunto porque ando en un proyecto en el que se genera una página a través de una transformacion XSLT a través de una plantilla XSL y una estructura XML.

El problema es que dicha presentacion de la web viene ya desarrollada en la plantilla XSL y si yo mediante un metodo de transformacion genero la web, lo que hace es generarme duplicación de etiquetas html, head, body, debido a que tengo las del Default.aspx y dentro de ahí con la linea:
<form id="form1" runat="server">
<asp:Xml id="xml1" runat="server" />
</form>
genero la transformacion por lo que me pinta tb las etiquetas que hay en la plantilla xsl.

Espero haberme explicado con claridad y a ver si alguien es capaz de ayudarme.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 16/06/2009, 08:30
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Duda esistencial C# - default.aspx

Lo que tienes que hacer es modificar el default.aspx a tu antojo para que quede como debe ser.

De hecho, si usas master pages, te encontrarás con q tienes q sustituir todo el equiketado html por su correspondiente <asp:content...

y también borrar otras declaraciones previas, pero eso es otro cantar.

Como vés, el código que sale por defecto no es inamovible :)
  #3 (permalink)  
Antiguo 17/06/2009, 01:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 42
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Duda esistencial C# - default.aspx

Me vas a perdonar pero al ser practicamente nuevo en .Net no he entendido nada de lo que me has dicho jeje.

El problema que yo tengo es que dentro del codigo html que hay en el default.aspx, concretamente dentro del:
<form id="form1" runat="server">
<asp:Xml id="xml1" runat="server" />
</form>
Genero una transformación xslt.

Tal y como tengo la XSL el codigo de la plantilla empieza en el <div id="contenedor"> y asi hacia abajo generandote las capas, menus cabeceras y demas.

El problema es que donde trabajo, otras empresas van hacer uso de esa misma XSL y ellos tienen en su plantilla la página entera, desde el DOCTYPE y <html>...</html>

Entonces... dado que yo no puedo meter la página entera en la xsl porque las etiquetas de <html><head> y tal están ya en el default.aspx, como podría hacer para que mi aplicación se cargase como en el default.aspx pero sin el codigo html?
de esta forma meter toda la página dentro de la XSL y no tener problemas entre las distintas empresas que van hacer uso de ella.

A ver si he conseguido explicarlo correctamente jeje.

Un saludo.
  #4 (permalink)  
Antiguo 17/06/2009, 01:51
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Duda esistencial C# - default.aspx

A ver, tú dentro de una página aspx puedes tener tanto código html como código asp.

Bien, pues elimina el html del default y crea un contenedor de tipo <asp:content> con la transformacion xsl dentro </asp:content>

Así quedará al final
<asp:content>
<html> lo que sea </html>
</asp:content>

me sigues¿?
  #5 (permalink)  
Antiguo 17/06/2009, 01:54
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Duda esistencial C# - default.aspx

Uf, no me fijé en que decías que iba a incrustarse en las webs de otras empresas. Bueno, puedes proceder igual que como te dije. Metiendo código la xslt pero sin los tags, pero para visualizarlo en vez de usar las vistas previas del Visual Studio a lo mejor necesitas hacerlo desde esas páginas empresariales, porque si no tienes los tags igual te da error.
  #6 (permalink)  
Antiguo 17/06/2009, 02:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 42
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Duda esistencial C# - default.aspx

Según lo que he entendido de tu ejemplo con el comando <asp:content> no puedo hacer lo que necesito porque si yo de la página default.aspx quito todo el html y dejo esto:

<asp:content>
<html>
<head></head>
<body>
<form id="form1" runat="server">
<asp:Xml id="xml1" runat="server" />
</form>
</body>
</html>
</asp:content>

Pues estariamos en las mismas, es decir, yo en mi plantilla XSL necesito meter todos los elementos del nivel superior de una página web (doctype, <html><head><title></title></head><body>...todo el contenido...</body></html> Y eso se tiene que mostrar en el default.aspx.
Hasta ahora lo mostraba poniendo dentro del body del default:

<form id="form1" runat="server">
<asp:Xml id="xml1" runat="server" />
</form>

pero mi plantilla xsl no tenía los elementos de nivel superior de una página web, solo tenía lo que está dentro del body, ya que los elementos de nivel superior los pintaba el default.aspx.

Para que me entiendas, en el default no debe aparecer por ningún sitio ninguna etiqueta <html><head... etc etc pq todo eso ya me lo da la transformación xslt. El problema es entonces como llamo al servidor( o al page_load() ) para que me pinte esa transformación sin hacer uso del:
<form id="form1" runat="server">
<asp:Xml id="xml1" runat="server" />
</form>

Un saludo.
  #7 (permalink)  
Antiguo 17/06/2009, 03:27
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Duda esistencial C# - default.aspx

Bueno, a lo mejor puedes hacer que cargue la xslt aprovechando el evento onLoad() de la página aspx.
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:26.