Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Estou fazendo um projeto da faculdade e tenho alguns probleminhas, eu tenho uma pagina que no page load recebe informaçõs aleatórias do banco de dados.
O problema é o seguinte quando clico em um botão que da update no banco ele tem que pegar uma dessas informações aleatorias que estão em uma variavel e das update no banco o problema é que quando clico no botão ele atualiza a pagina e depois envia a informação e quando ele atualiza ele pega novos dados aleatorios e não cadastra a informação que realmente contia na variavel.
Minha dúvida é a seguinte tem como eu desativar essa função de postback da pagina ou setar que o botão é PostBackUrl e enviar os parametros que eu quero para outra pagina e recer esses parametros para fazer o update.
Não sei se fui muito claro mais estou com muitas dificuldades referente a isso já fiz muitas pesquisar mais não entendi algumas e varias são de versões muto antigas do ASP. Estou usando ASP.NET com C# no meu projeto.
Não da para inserir no Botão pois quando ocorre o evento click do botão ele da um reload da pagina antes de fazer a função do click ai quando ele da esse reload é trocado o valor das variaveis.
Preciso passar os parametros pela propriedade PostBackUrl do botão e receber em outra pagina mais não sei como fazer isso.
O que você precisa fazer é ler a variavel da URL apenas uma vez...
para isso utilize um if no load da página:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
carregaVariavelURL()
End If
End Sub
Dessa forma, durante o postback não será atribuido um novo valor para a variável.
;)
Foi mal, agora em C# :P
protected void Page_Load(object sender, EventArgs e)
{
if (! IsPostBack)
{
carregaVariavelURL();
}
}Cara eu entendi mais ou menos, só não entedi a parte do "carregaVariavelURL;", o que seria isso?
Eu tentei fazer o seguinte:
if (! IsPostBack) {
carregaVariavelURL;
}
Dentro desse if eu coloquei minha pagina pois se não for postback ele executa normal, o problema é que quando clico no botão as variaveis não são dubstituidas mais elas ficam zeradas sem valor nenhum.Dentro do if vc vai colocar suas instruções para ler a URL e carregar a variável... Na primeira vez que entrar na página vai fazer isso. Depois quando clicar no botão, ele não vai entrar no if então, vai manter o valor das variáveis. Só cuidado na forma como você declarou as variáveis para que não zere elas a todo momento. Se não conseguir posta o código aí. ;)
Entendi o que estava acontecendo, quando eu dava um click no botão ele zerava o valor da variavel, para solucionar isso eu joguei o valor da variável em um textbox ai quando eu dava o click a variável estava vazia porem o text box ainda tinha a informação, ai passei ele como parâmetro.
Vlw ZecaLoteiro, isso me ajudou demais cara não tem ideia de como...
Entendi direitinho a lógica..
Pode fechar o tópico.
Obrigado !!!
Marque a resposta como resolvido.
Insira no código do botão, ou no load da página, uma session e busque os parâmetros que deseja, e depois passe essa session para a outra página.