Pergunta

Eu tenho uma página asp.net em um iframe onde todos os links segmentam _blank

<base target="_blank" />

Mas eu quero que o formulário seja enviado para _ (ou seja, o iframe onde a página está localizada) quando o botão é clicado. A forma é um <asp:Panel> com um <asp:Button> controle para enviá -lo.

Onde posso definir o alvo para este formulário? Já que não há um <form> tag ou um <input> tag no arquivo (asp.net os fabrica quando renderiza a página), eu não sei como alterar o alvo para substituir meu <base> marcação.

Foi útil?

Solução 2

Acabei de encontrar esta postagem nos fóruns do ASP.NET por Mokeefe Isso muda o alvo por JavaScript.

Eu apenas coloquei na minha página e tentei. Eu tive que fazer essas modificações:

1. Estou usando tags ASP apenas, então eu tenho <asp:Button> não <input type="button"> e meu ONCLICK Tem que ser o método do lado do servidor que estou chamando no envio. Portanto, coloquei este novo javascript em OnClientClick:

<asp:Button ID="cmdEmailSearch" runat="server" Text="Search"
            OnClick="cmdEmailSearch_Click"
            OnClientClick="javascript:pageSubmit()"/>

2. Eu removi o myform.submit (), já que asp.net renderiza a página colocando o Webform_dopostbackwithOptions () JavaScript no botão ONCLICK Logo depois de colocar meu PageSubMit ()

<script type="text/javascript">

    function pageSubmit(){
        // where form1 is the Parent Form Id
        var myForm = document.getElementById('form1');
        myForm.target = '_self';
    }// end function
</script>

Outras dicas

Não tenho certeza se entendi bem, mas você pode definir o alvo na tag de formulário, como esta:

<form method=post action="Page.aspx" target="_self">
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top