1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida: Asp.net

Discussão em 'Web Development' iniciada por Jammin @, 10 de Maio de 2009. (Respostas: 8; Visualizações: 1035)

  1. Jammin @

    Jammin @ Power Member

    Estou a fazer um pequeno teste em asp

    o que eu quero e que o valor inserido numa textbox seja passado atraves de um botao para outra pagina e se esse valor for menor que 5 e redirecionado para uma terceira pagina. Ate aqui funciona tudo bem, nao estou a conseguir desenvolver um raciocinio que permita evitar entradas atraves do endereço ou seja: se entrar na segunda pagina atraves do endereço sem ser pelo botao da imediatamente erro, o que queria era que fosse tambem para essa terceira pagina.

    Pagina com o botao:
    Segunda pagina:
    Tentei o pedido = Nothing mas nao funciona, alguem pode dar uma ajudinha? Cumprimentos.
     
  2. geoblast

    geoblast Power Member

    Experimenta

    Response.Redirect("principal.aspx?pedido=" + TextBox1.Text)
     
  3. Jammin @

    Jammin @ Power Member

    Assim da erro de qualquer das maneiras.

    O 'coiso' de passar o valor e a condiçao >5 faz, eu quero e redireccionar para a terceira pagina pessoas que entrem na segunda através do endereço do browser, ou seja sem passar pela primeira. Cumprimentos.
     
  4. alfinete

    alfinete Power Member

    fazes Request.QueryString("pedido").ToString, penso que sera assim e mantens a tua query string com ".....aspx?pedido="txtbox.txt

    inicia como private pedido = "";

    testas se esta confição nula Request.QueryString("pedido") sem ".tostring"

    caso não seja nula fazes
    pedido = Request.QueryString("pedido").ToString

    depois fazes o teu if Ao pedido ..

    If ((pedido vazio ou null ) or
    ( pedido < 5 ))Then
    Response.Redirect("negasite.aspx")
    Else

    condição .........
    End If


    espero que tenha ajudado

    qualquer coisa deste tipo
     
    Última edição: 11 de Maio de 2009
  5. Jammin @

    Jammin @ Power Member

    Não percebi, Request.QueryString("pedido").ToString já eu tenho e .aspx?pedido="txtbox.txt dá logo erro de qualquer das maneiras, passar o argumento não me dá erro, se não existir argumento é que dá (entrar pelo endereço). Ajuda?

    Cumprimentos
     
  6. alfinete

    alfinete Power Member

    antes de passares isto Request.QueryString("pedido").ToString

    ten de veridicar se Request.QueryString("pedido") não é nula

    Código:
    
    dim pedido as string =  string.empty;
    
    //para passar o valor para a var pedido se este existir
    if([I]Request[/I].[I]Querystring[/I]["pedido"] != [I]null[/I])
        pedido = Request.QueryString("pedido").ToString
    
    // se pedido não é nulo nem vazio
    if (!string.isnullorempty(pedido))
     {
      
      If (convert.int32(pedido) < 5)
      condição
    }
    // se pedido é nulo ou vazio
    else
     condição
    
     
    
    espero que agora tenhas percebido
     
    Última edição: 12 de Maio de 2009
  7. RicardoMoreira

    RicardoMoreira Power Member

    Arranjando um pouco o teu código:

    Coloca:
    Response.Redirect("principal.aspx?pedido=" & TextBox1.Text)



    Coloca:
    dim pedido as integer = request.item("pedido")

    If pedido = string.empty Then
    Response.Redirect("negasite.aspx")
    Else
    If pedido < 5 Then
    Response.Redirect("negasite.aspx")
    End If
    End If
     
  8. Jammin @

    Jammin @ Power Member

    Dá erro aqui, não percebo muito de asp, mas será por a variavel ser integer e estares a verificar uma string? btw, estou a usar VB

    Cumprimentos

    Edit: Já consegui, misturando os códigos aqui apresentados:

    Obrigados aos dois ;)
     
    Última edição: 12 de Maio de 2009
  9. RicardoMoreira

    RicardoMoreira Power Member


    Tens toda a razão, desculpa, distracção minha. Eu primeiro tinha dito para declarares pedido como string, mas depois mudei para integer.

    De qualquer das formas, ainda bem que já funciona. ;)
     

Partilhar esta Página