none
Redirecionamento de páginas RRS feed

  • Pergunta

  • Olá pessoal;

    Tenho uma aplicação desenvolvida com asp.net 4.0 e em determinado momento, é aberta uma nova janela que é um questionário para que o usuário responda as questões.

    Eu preciso que quando o usuário finalizar esse questionário essa janela seja fechada e a tela que chamou esse "modal" seja redirecionada para a página de login.

    A parte de fechar a janela eu consegui fazer com java script. Veja:

    System.Threading.Thread.Sleep(3000);
    Consts.JavaScript.closeWindow(true);
    
    
    public class Consts.JavaScript
    {
    
         public static string Begin = "<script language=javascript>\n";
    
         public static string End = "</script>";
    
         public static string closeWindow(bool regTag)
         {
             if (regTag == true)
                 return Begin + "window.close();\n" + End;
             else
                 return "window.close();";
         }
    }
    

    Isso aí funciona direitinho. O problema está na hora de redirecionar para a página de login. Tentei isso mas não funcionou:

    Consts.JavaScript.redirectToLoginPage(loginPage, true);
    
    //Consts.JavaScript
    public static string redirectToLoginPage(string url, bool regTag)
    {
        if (regTag == true)
        {
            return Begin + "parent.location.href='" + url + "';" + End;
        }
        else
        {
            return "parent.location.href='" + url + "';";
        }
    }

    Alguém tem alguma ideia de como eu posso fazer isso?

    Obrigada!


    Deise Vicentin
    "Eu não procuro saber as respostas, procuro compreender as perguntas." Confúcio

    quinta-feira, 12 de julho de 2012 13:49

Respostas

  • Boa tarde, Deise.

    Tente utilizar o window.opener.location.href do javascript para dar um refresh na página que abriu o popup.

    []'s


    Danilo Oliveira MCTS - SQL Server 2008, Implementation and Maintenance Blog: www.coffeeandcodes.com.br

    • Marcado como Resposta Deise Vicentin quinta-feira, 12 de julho de 2012 17:32
    quinta-feira, 12 de julho de 2012 16:30
  • Boa tarde, Deise.

    Tente utilizar o window.opener.location.href do javascript para dar um refresh na página que abriu o popup.

    []'s


    Danilo Oliveira MCTS - SQL Server 2008, Implementation and Maintenance Blog: www.coffeeandcodes.com.br

    Boa tarde Danilo;

    Consegui fazer o que eu precisava. Criei uma função javascript com a sugestão. Segue a solução para quem precisar:

    //Na página aspx do modal fiz essa função
    <script type="text/javascript">
    
        function RefreshParent() {
            window.opener.location.href = "../Account/Login.aspx";
    
            if (window.opener.progressWindow) {
                window.opener.progressWindow.close();
            }
    
            window.close();
        }
    </script>
    
    //No .cs do modal eu chamo a função
    ScriptManager.RegisterStartupScript(this, this.GetType(), "Refresh", "RefreshParent();", true);

    Valeu pela dica Danilo!


    Deise Vicentin
    "Eu não procuro saber as respostas, procuro compreender as perguntas." Confúcio

    • Marcado como Resposta Deise Vicentin quinta-feira, 12 de julho de 2012 17:32
    quinta-feira, 12 de julho de 2012 17:31

Todas as Respostas

  • Boa tarde, Deise.

    Tente utilizar o window.opener.location.href do javascript para dar um refresh na página que abriu o popup.

    []'s


    Danilo Oliveira MCTS - SQL Server 2008, Implementation and Maintenance Blog: www.coffeeandcodes.com.br

    • Marcado como Resposta Deise Vicentin quinta-feira, 12 de julho de 2012 17:32
    quinta-feira, 12 de julho de 2012 16:30
  • Boa tarde, Deise.

    Tente utilizar o window.opener.location.href do javascript para dar um refresh na página que abriu o popup.

    []'s


    Danilo Oliveira MCTS - SQL Server 2008, Implementation and Maintenance Blog: www.coffeeandcodes.com.br

    Boa tarde Danilo;

    Consegui fazer o que eu precisava. Criei uma função javascript com a sugestão. Segue a solução para quem precisar:

    //Na página aspx do modal fiz essa função
    <script type="text/javascript">
    
        function RefreshParent() {
            window.opener.location.href = "../Account/Login.aspx";
    
            if (window.opener.progressWindow) {
                window.opener.progressWindow.close();
            }
    
            window.close();
        }
    </script>
    
    //No .cs do modal eu chamo a função
    ScriptManager.RegisterStartupScript(this, this.GetType(), "Refresh", "RefreshParent();", true);

    Valeu pela dica Danilo!


    Deise Vicentin
    "Eu não procuro saber as respostas, procuro compreender as perguntas." Confúcio

    • Marcado como Resposta Deise Vicentin quinta-feira, 12 de julho de 2012 17:32
    quinta-feira, 12 de julho de 2012 17:31