Executando script antes de enviar formulários, ASP.NET
-
13-09-2019 - |
Pergunta
Eu tenho uma página ASP.NET com um arquivo de script cs para tomar de dados e, em seguida, postá-lo para outro local.
No site Eu estou usando um formulário HTML regular com asp: TextBox e asp: HiddenField valores em todo-o para coletar / Retenção de dados. O problema que estou tendo é que alguns dos principais dados sobre ele tem que ser hash e salgada antes de serem enviados para um site diferente.
Eu tenho um método para fazer isso, ele funciona bem, mas é ligado ao atributo OnClick do botão enviar, seu um asp: Button atualmente com um conjunto PostBackUrl. Isso aparentemente significa que ele fica ignorado quando ele vai para a nova página que não é o que eu quero.
Ainda sou muito novo para desenvolvimento web assim há uma maneira de executar um certo método antes de a página é enviada, ou vou ter para executar o método toda vez que um campo que iria efetuar o hash é alterado?
Solução
Se o seu método de hash escrito em javascript e você está chamando-a do seu botão onclick lado do cliente evento . ele deve ser executado antes de seu formulário postado. Usando evento onsubmit do formulário pode ser uma alternativa.
Mas se você está falando função lado do servidor hash que define o valor do controle escondido você deve usar Server.Transfer após o seu método de hash. Porque o botão com PostBackUrl propriedade não postback a própria página.
Outras dicas
Você pode querer olhar para o Page.ClientScript.RegisterOnSubmitStatement
Esta será uma maneira de executar alguns javascript como a forma está submetendo.