[Resolvido] ASP - Redirecionar

Hashiriya

Power Member
Olá, venho pedir a vossa ajuda, visto tar a bater mesmo na parede com uma coisa que me parece simples.

O objectivo é ter um conjunto de textboxes e checkboxes, simulando uma básica lojita de hardware. O resultado que se pretende seria passar o nome, morada e data de nascimento, mais os items selecionados para, numa página nova apresentar os dados do cliente, e fazer uma "factura" das peças selecionadas com o total.

Tentei fazer "onclick" no botão, lembrei-me de fazer com cookies para passar os dados de uma página para outra (??) mas disseram-me que o que se pretende não é para usar cookies.

Código:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <form method="get" action="Default.aspx">
    Nome: <input type="text" name="nome" /><br />
    Morada: <input type="text" name="morada" /><br />
    Data de Nascimento:<br />
    Dia: <input type="text" name="dia" maxlength="2"/> Mês: <input type="text" name="mes" maxlength="2"/> Ano: <input type="text" name="ano" maxlength="4"/>
    <br /><br />
    Material: <br /><br />
    
    Monitor: <input type="checkbox" name="cb1" value="105" /> <br />
    Teclado + Rato: <input type="checkbox" name="cb2" value="20" /> <br />
    Tower: <input type="checkbox" name="cb3" value="35" /> <br />
    Placa Gráfica: <input type="checkbox" name="cb4" value="135" /> <br />
    Fonte: <input type="checkbox" name="cb5" value="45"/> <br />
    Processador: <input type="checkbox" name="cb6" value="150" /> <br />
    Motherboard: <input type="checkbox" name="cb7" value="50" /> <br />
    RAM: <input type="checkbox" name="cb8" /> <br /><br />   

    
   <input type="submit" value="Carrinho de Compras" />
    </form>
    
    <%
        Dim validate As Char
        Dim conta As Integer
        Dim stock(7) As Char
        Dim n As Integer
        n = 0
        stock(0) = Request.Form("cb1")
        stock(1) = Request.Form("cb2")
        stock(2) = Request.Form("cb3")
        stock(3) = Request.Form("cb4")
        stock(4) = Request.Form("cb5")
        stock(5) = Request.Form("cb6")
        stock(6) = Request.Form("cb7")
        stock(7) = Request.Form("cb8")
                
        Response.Redirect("http://www.zwame.com")       
        
    %>
    
    </div>
    </form>
</body>
</html>
Penso que teria de usar o método Response.Redirect, não?

Obrigado pela ajuda,
Hashiriya.
 
Última edição:
porque não fazes isso com code behind
um ficheiro para o aspx e html

e outro para vb

torna-se mais facil de perceber

alias tens le mencionado o aspx.vb , onde podes por o codigo vb
 
Posso colocar um evento no botão "onclick", fazer response.redirect para uma outra página e fazer request do form da primera página, na segunda página?

É o que me ocorre :D
 
pode fazer sim

do tipo estas na pagina x e queres ir para a pagina teste.aspx
poes o codigo a baixo dentro do teu onclick do botão

Código:
 Response.Redirect("~/ScanStation/teste.aspx?Id= " + m_Id & _
                              "&FortisDocTypeMasterId=" & m_TypeMasterId  , true)

depois no teu texte.aspx fazes request.querystring("Id") , e as outras vars para teres o valor das mesmas

é uma coisa deste género
 
No botão que queres faz o response.redirect("paginapretendida.aspx")
Na "paginapretendida.aspx no load fazes por exemplo:

Dim placagrafica as string
placagrafica=previouspage.getcontrol(txtgrafica)

Assim podes trabalhar com os dados da pagina anterior basta especificares os controlos que pretendes.
 
Obrigado pela ajuda até agora!

Para conseguir testar a parte de buscar os dados do Default.aspx no Default2.aspx (os meus ficheiros), tenho de passar de página, que ainda não consegui.
Código:
<input type="submit" value="Carrinho de Compras" onclick="Response.Redirect("Default2.aspx")" />
Já tentei com e sem aspas, etc etc, com target... nada.

Entretanto o meu professor disse-me que não preciso de utilizar Response.Redirect.

Pelo que ele me diz é uma coisa tão simples, mas o google não ajuda :/
 
LOL, é normal não estar a funcionar... e tens razão realmente é uma coisa muito simples.
Para utilizares o <input type="submit"/> no ASP.NET tens de lhe colocar o atributo runat="server".
Ou então pode utilizar o componente do ASP <asp: Button> que funciona da mesma forma que o anterior mas tem mais potencial.

Outra coisa que reparei é que tu estás a utilizar ASP.NET mas perguntas-te e estás a fazer as coisas à maneira do ASP Classico, o que e são coisas completamente diferentes. Talvez por isso tambem não estas a encontrar o que procuras no Google.

Outra dica, deve colocar o runat="server" também nas textboxes e depois podes obter o seu valor do lado do servidor simplesmente fazendo idDaTextBox.value ou se utilizares componentes do ASP.NET idDaTextBox.Text.

Espero que tenha esclarecido as tuas duvidas, quanto a fazeres Redirect ou outro metodo é algoritmo e vou-te deixar pensar um bocado.

Cumprimentos
 
No sábado encontrei a solução. No form coloquei, na action, o link da minha outra página.

A partir daí usei Request.QueryString e ficou o assunto resolvido de uma maneira simples.

Obrigado a todos pela ajuda e dicas.

Abraços
 
Back
Topo