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:
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.<%@ 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> .....
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.