none
Problemas com execução de ASPX dentro da DIV RRS feed

  • Pergunta

  • Bom dia Pessoal!

    Então eu criei um ASPX principal do meu portal, quem contém algumas div's e uma delas é #Container onde ficar todo conteúdo principal do portal.E criei um menu que chama outros ASPX dentro da div #Container, e abre normalmente.

    Porém quando vou executar algo, a mesma é mostrada em outra página como se fosse _blank.Gostaria que ele continuasse executando dentro da DIV

    Alguém poderia me ajudar ?

    Vlw!
    terça-feira, 4 de junho de 2013 18:30

Todas as Respostas

  • Quando vc fala da página principal tu fala da MasterPage?

    como é feito esse menu? com o componente do asp.net ou com o <a></a> ?

    terça-feira, 4 de junho de 2013 21:58
  • Não entendi. Como é seu código de chamada da outra página e como é esse "blank", é toda a página, apenas o menu ou o que não está sendo mostrado? Se puder nos enriquecer de mais detalhes, agradeço.
    terça-feira, 4 de junho de 2013 22:55
  • <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>:: Controle de Loja ::</title>
        <link href="Styles/StyleSheet1.css" rel="stylesheet" type="text/css" />
        <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('a').click(function () {
                    $("#Content").load($(this).attr("title"));
                });
            });
        </script>
    </head>
    <body>
        <div id="Main" style="width: 1000px; left: 50%; margin-left: -500px; ; top: 0px;">
            <div>
                <img src="Image/Logo-Vivo-Telefonica.jpg" alt="Banner" style="width:1000px" />
            </div>
    
            <div id="Menu">
                    <a href="#" title="Home.aspx">Home</a> | <a href="#" title="CadastroLivros.aspx">Cadastro de Livros</a> | <a href="#" target="_self" title="PesquisaLivro.aspx">Pesquisar Livros</a> | <a href="#" title="Contato.aspx">Contato</a>
            </div>
            <div id="Content">
            </div>
        </div>
    </body>
    </html>

    Como vocês podem ver tenho um Jquery que chama uma pagina aspx dentro da DIV #Content até esse ponto está abrindo normalmente. Vamos supor que eu abri o ASPX CadastroLivros quando o usuário clica em cadastrar ele muda de pagina e não executa dentro da DIV #Content.

    Gostaria que ele continua-se executando dentro da DIV #Content.

    Vlw Pessoal!

    quarta-feira, 5 de junho de 2013 11:16

  • Alan como o conteúdo que é carregado dentro da div #Content é uma outra pagina você poderia usar o iframe, desta forma você não terá o problema do link realizar o direcionamento de páginas.

    segue um explemplo

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>:: Controle de Loja ::</title>
        <link href="Styles/StyleSheet1.css" rel="stylesheet" type="text/css" />
        <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('a').click(function () {
                    $("#Content").attr('src', $(this).attr("title"));
    
                    return false;
                });
            });
        </script>
    </head>
    <body>
        <div id="Main" style="width: 1000px;  margin-">
            <div>
                <img src="Image/Logo-Vivo-Telefonica.jpg" alt="Banner" style="width:1000px" />
            </div>
    
            <div id="Menu">
                     <a href="#" title="Home.aspx">Home</a> | <a href="#" title="CadastroLivros.aspx">Cadastro de Livros</a> | <a href="#" target="_self" title="PesquisaLivro.aspx">Pesquisar Livros</a> | <a href="#" title="Contato.aspx">Contato</a>
            </div>
            </div>
             <iframe id="Content" frameborder="0" >
           
            </iframe>
        </div>
    </body>
    </html>

    Segue também um link com maiores informações sobre o iframe

    http://www.w3schools.com/tags/tag_iframe.asp

    Além desta opção você também pode optar por mudar de forma mais radical o seu padrão e usar master page (para o conteúdo que se repete a todas as paginas).

    E usar updadePanel (para evitar o recarregamento da pagina de toda a pagina).

    Segue um link com referencia a master page:

    http://www.macoratti.net/aspn2_mp.htm

    Segue um link com referencia a updatePanel:

    http://www.macoratti.net/07/07/ajax_upp.htm

    Os links da master page e updade panel são de artigos um pouco antigos mais explicam bem esses conceitos.

    Abraço



    • Editado Renato Olvr quarta-feira, 5 de junho de 2013 18:24
    • Sugerido como Resposta Washington sexta-feira, 7 de junho de 2013 18:51
    quarta-feira, 5 de junho de 2013 18:14
  • Com DIV não tem como mesmo ?

    Então mais andei lendo algumas matérias e vi que o pessoal está parando de usar IFRAME

    Vlw pela ajuda man

    quinta-feira, 6 de junho de 2013 15:51
  • Um dos problema com o jQuery.load é que ele lê o conteudo e carrega o html gerado pela sua página em seu DIV.Com isso, voce começa a ter problemas quando utiliza, muitos eventos em code-behind, update-panels, etc.

    A solução com iframe, além limpa é bastante utilizada.

    Se voce olhar em como o Kendo UI, verá que no componente Window, ele carrega conteúdos externos dentro de um iframe.

    Existem vários sistemas que funcionam desta forma e não vejo nenhum problema em se utilizar o iframe.

    Abraços.


    Washington Luíz | MCP, MCTS
    O Senhor é minha força e somente Nele confio.

    sexta-feira, 7 de junho de 2013 18:51
  • Prezado,

    Testei esse teu código e funciona que é uma beleza. Segue um link para consultares:

    http://www.pinceladasdaweb.com.br/blog/2009/05/11/ajax-com-jquery-metodo-load/

    Quanto ao uso do iFrame, é desaconselhável por vários motivo, dois deles é que o google não enxerga o conteúdo dentro dele e a página fica mais pesada.

    Agrande abraço !

    segunda-feira, 10 de junho de 2013 17:06