Hola a todos!
Estoy desarrollando una aplicación que lanza un PopUp en Ajax al pulsar cierto botón, y tengo un problema a la hora de cerrar dicho PopUp.
El problema viene cuando trabajo con un "handler" que enmascara la url, por ejemplo, si es www.domain.com/loqsea.html, lo transfiere a www.domain.com/Carp1/default.aspx. A la hora de cerrar el PopUp, desde www.domain.com/Carp1/default.aspx sin enmascarar lo hace sin problemas, pero cuando la dirección está enmascarada, la primera vez lo cierra bien pero la segunda da el error siguiente:Sys.WebForms.PageRequestManagerServerErrorException: An unknown error ocurred while processing the request on the server. The status code returned from the server was: 12030
he hecho un pequeño ejemplo, esta es la estructura:
carp1/default.aspx:
<head runat="server">
<title>2</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:UpdatePanel ID="update1" runat="server">
<ContentTemplate>
<asp:Panel ID="panel1" runat="server" Style="width:480px;height:200px; background-color: Aqua;">
soy un panel
<asp:Button ID="cerrar" runat="server" text="cerrar" OnClick="cerrar_Click" />
</asp:Panel>
Boton:
<asp:Button ID="boton2" runat="server" Text="Pulsame" OnClick="boton_Click" />
<ajaxToolkit:ModalPopupExtender ID="mpe" runat="server" TargetControlID="boton2"
PopupControlID="panel1" DropShadow="true" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="boton2" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
carp1/default.aspx.cs
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
} protected void boton_Click(object sender, EventArgs e)
{ }
protected void cerrar_Click(object sender, EventArgs e)
{
mpe.Hide();
}
}
handler en el global.asax:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
int ptoHtml;
//tipo: http://www.domain.com/pagina.html
string urlTo = Request.Url.ToString().ToLower(); //devuelve la url en minuscula
ptoHtml = urlTo.IndexOf(".html");
if (ptoHtml > -1)
{
Server.Transfer("~/Carp1/Default.aspx", false);
}
}
Como decía, no cierra bien cuando pones una dirección tipo www.domain.com/loqsea.html. Muchas gracias por vuestra ayuda, un saludo!