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

Conflicto entre etiqueta <base> y formulario web

Estas en el tema de Conflicto entre etiqueta <base> y formulario web en el foro de ASPX (.net) en Foros del Web. Buenas. Estaba creando un montón de páginas partiendo de un diseño genérico en una plantilla. Todas estas páginas no tenían codebehind y, por lo tanto, ...
  #1 (permalink)  
Antiguo 11/01/2007, 09:05
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Conflicto entre etiqueta <base> y formulario web

Buenas. Estaba creando un montón de páginas partiendo de un diseño genérico en una plantilla. Todas estas páginas no tenían codebehind y, por lo tanto, no había formularios de ida y vuelta. Como iba a ponerlas por diferentes directorios y varios niveles resolví poner una etiqueta base de modo que no tuviera que ir modificando los enlaces a las hojas de estilo y a los scripts cada vez que subiera o bajara una página por los distintos niveles de directorios.

Cuando, usando la misma plantilla básica, he necesitado crear una página que sí llevaba codebehind me he encontrado con que la etiqueta base de HTML hace que el formulario no apunte bien.

Con un ejemplo quedará más claro.

Asesoria.aspx
Código:
<%@ Register TagPrefix="controles" TagName="pie" Src="~/controles/Pie.ascx" %>
<%@ Register TagPrefix="controles" TagName="cabecera" Src="~/controles/Cabecera.ascx" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Asesoria.aspx.vb" Inherits="Includes.Asesoria" smartNavigation="True"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
	<HEAD>
		<title>Título de la página</title>
		<base href="http://www.dominio.com" />
		<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
		<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
		<LINK href="/estilos/style.css" type="text/css" rel="stylesheet">
                          <script language="javascript" src="/controles/menu.js" type="text/javascript"></script>
	</HEAD>
	<body>
		<form id="Form1" method="post" runat="server">
			<controles:cabecera id="cabecera" runat="server"></controles:cabecera>
.....
Si pongo la página en el directorio principal no hay problema, toma bien las hojas de estilo y el javascript y cuando hace un postback lo hace a www.dominio.com/Asesoria.aspx.

Sin embargo, si la página la coloco en ww.dominio.com/servicios/Asesoria.aspx muestra bien la hoja de estilos y el javascript pero no hace bien el postback, que lo manda a www.dominio.com/Asesoria.aspx.

Probé a quitar la etiqueta base y muestra la hoja de estilos y hace el postback pero no ejecuta las funciones javascript.

¿Qué puedo hacer para no tener que preocuparme del directorio en el que lo pongo?

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 12/01/2007, 05:14
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Re: Conflicto entre etiqueta <base> y formulario web

Alguna ayuda, por favor.

He intentado definir el valor action de la etiqueta form, pero al procesarse la página me lo cambia.

Código:
<form id="Form1" method="post" runat="server" action="/Servicios/Asesoria.aspx">
Pero la respuesta sigue siendo

Código:
<form id="Form1" method="post" ... action="Asesoria.aspx">
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
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 13:03.