Desabilitar tecla F5

.NET

09/03/2013

Gostaria de tirar uma duvida galera preciso desativar o reflesh da visualização de relatórios , e consegui fazer o cod via java script dentro da pag aspx, mas creio que preciso fazer isto tb na pag cs via cod c# será que alguem poderia me ajudar como devo fazer isso dentro da protect page_load ???
<scrip type="java\script">

if (document.all)
{
document.onkeydown = function ()
{
var key_f5 = 116;
if (key_f5==event.keyCode)
{
event.keyCode=0;
alert ("função desabilitada!");
}
return false;
}
}

</scrip>
Jean Silva

Jean Silva

Curtidas 0

Melhor post

Jean Silva

Jean Silva

20/03/2013

Tá tranquilo Joel, o inicio da minha vida de desenvolvedor tem sido assim, tendo que ir atras e me virando,

mas segue o cod para alguem que tiver mesma duvida e quiser aproveitar.

<script type="text/javascript">

// função para desabilitar a tecla F5.
window.onkeydown = function (e) {
if (e.keyCode === 116) {
alert("Função não permitida");
e.keyCode = 0;
e.returnValue = false;
return false;
}

}


</script>

abraços obrigado Joel.
GOSTEI 2

Mais Respostas

Joel Rodrigues

Joel Rodrigues

09/03/2013

Dúvida interessante... tenta colocar só um return no page_load.
return;

GOSTEI 0
Jean Silva

Jean Silva

09/03/2013

Bom dia,

Não funcionou com o return;, mais alguma ideia do que posso fazer.??
GOSTEI 0
Robson Alves

Robson Alves

09/03/2013

Gostaria de tirar uma duvida galera preciso desativar o reflesh da visualização de relatórios , e consegui fazer o cod via java script dentro da pag aspx, mas creio que preciso fazer isto tb na pag cs via cod c# será que alguem poderia me ajudar como devo fazer isso dentro da protect page_load ???
<scrip type="java\script">

if (document.all)
{
document.onkeydown = function ()
{
var key_f5 = 116;
if (key_f5==event.keyCode)
{
event.keyCode=0;
alert ("função desabilitada!");
}
return false;
}
}

</scrip>


Pensando no ciclo de vida da página.
Se o processo entrou no code-behind, quer dizer que a página já foi recarregada.

Você pode colocar no page_load o:

if (IsPostBack)
{
}

e dar um return; para pausar o processamento do restante, mas isso não quer dizer que a página já foi recarregada.

Para inabilitar totalmente o refresh via F5, apenas o JS ou Jquery vai te ajudar, e mesmo assim não impede do usuário utilizar outras artimanhas, como o control+r por exemplo.


GOSTEI 0
Jean Silva

Jean Silva

09/03/2013

bom dia já havia feito isso, mas não funcionou, quando o relatório é emitido ainda é permitido dar F5 para o reflesh, o negocio é que se deixar permitido o reflesh, a pag vai dar uma EXCEÇÃO se o usuario clicar no botão F5.
GOSTEI 0
Jean Silva

Jean Silva

09/03/2013

Prezados,

Consegui resolver o problema, obrigado pela ajuda de vcs. abraços.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

09/03/2013

Opa, Jean. Desculpa a demora em aparecer, cara.
Mas diz aí, como você resolveu a questão?
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

09/03/2013

Opa, valeu, amigo.
Obrigado por compartilhar, assim outras pessoas com a mesma dúvida poderão consultar este tópico.
Neste caso, estou marcando este tópico como Concluído.
Abraço e boa sorte em seus projetos.
GOSTEI 1
Jean Silva

Jean Silva

09/03/2013

Vlw Joel,


mas posso te fazer uma pergunta aqui neste tópico mesmo? vc como experiente em programação .net, oque vc acha melhor, tipo criar os componentes arrastando do toolbox ou cria-los no braço(codigo), ouvi dizer que criar no codigo é melhor por ser mais facil de dar manutenção e por gerar menos lixo, oque vc acha???


abraços.
GOSTEI 1
Joel Rodrigues

Joel Rodrigues

09/03/2013

Concordo!
Em se tratando de web, eu nunca gostei de "arrastar e soltar", prefiro fazer tudo no braço.
Faço apenas o necessário e tenho total controle sobre cada linha de código, pois sei por que inseri.
GOSTEI 1
Jean Silva

Jean Silva

09/03/2013

Hum então este é o melhor jeito de aprender mesmo sem duvidas.


obrigado Joel abraços.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

09/03/2013

Grande abraço, amigo.
Boa sorte em seus estudos.
GOSTEI 0
POSTAR