Duvida: Asp.net

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:
Response.Redirect("principal.aspx?" + TextBox1.Text)

Segunda pagina:
pedido = Request.QueryString().ToString

If pedido = Nothing Then
Response.Redirect("negasite.aspx")
Else
If pedido < 5 Then
Response.Redirect("negasite.aspx")
End If
End If

Tentei o pedido = Nothing mas nao funciona, alguem pode dar uma ajudinha? Cumprimentos.
 
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.

Experimenta

Response.Redirect("principal.aspx?pedido=" + TextBox1.Text)
 
Experimenta

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

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.
 
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:
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

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
 
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:
Arranjando um pouco o teu código:

Pagina com o botao:
Response.Redirect("principal.aspx?" + TextBox1.Text)

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



Segunda pagina:
Citação:
pedido = Request.QueryString().ToString

If pedido = Nothing Then
Response.Redirect("negasite.aspx")
Else
If pedido < 5 Then
Response.Redirect("negasite.aspx")
End If
End If

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
 
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

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:

Dim pedido As String = 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

Obrigados aos dois ;)
 
Última edição:
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 ;)


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. ;)
 
Back
Topo