Tengo un problema: cuando llamo a Response.Redirect() desde la página maestra, no funciona. Bueno, la depuración puedo ver que hasta el método Pre_Render() se carga la página de destino, pero luego se representa la página anterior.¿Cómo puedo hacer que Response.Redirect() trabaje desde MasterPage?
Aquí hay un código para explicar mejor:
(de MasterPageMain.master.cs)
protected void Page_Init(object sender, EventArgs e)
{
string m_QueryStringValue = Request.QueryString.Get("action");
if ((!string.IsNullOrEmpty(m_QueryStringValue)) && (m_QueryStringValue.ToLower() == "send"))
{
if (Session["to"] != null && Session["to"] is List<string>) this.SendPageByMail();
else
{
Session.Add("AddressToSend", Request.RawUrl);
Response.Redirect("~/chooseRecipients.aspx");
}
}
}
Tengo un javascript que añade la cadena de consulta añadiendo "action = enviar" cuando hago clic en la opción Enviar botón.
Si estoy en la página "~/somethingInterestingToSend()" -por ejemplo- quiero entrar en la página de selección de destinatarios, pero cuando hago clic en el botón Enviar siempre veo la misma página.
¿Cuál puede ser el error?
Una nota al margen: tenga cuidado al usar la sesión para almacenar variables. Tenga en cuenta que el usuario puede tener dos pestañas abiertas con su sitio y cada página sobrescribe el valor anterior. Será mejor enviar la URL de retorno en la cadena de consulta –