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.