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

[Resolvido] ASP - Redirecionar

Discussão em 'Web Development' iniciada por Hashiriya, 20 de Maio de 2009. (Respostas: 10; Visualizações: 2013)

  1. Hashiriya

    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: 25 de Maio de 2009
  2. response.redirect("pagina.asp")
     
  3. Ignoto_Deo

    Ignoto_Deo Power Member

    isso é para fazer

    isso é para fazer o redirect simples, pra levar os dados, tens de fazer um post ou um get, no formulário
     
  4. Hashiriya

    Hashiriya Power Member

    O meu form está com o metodo "get"
     
  5. alfinete

    alfinete Power Member

    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
     
  6. Hashiriya

    Hashiriya Power Member

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

    alfinete Power Member

    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
     
  8. Jekkaman

    Jekkaman Power Member

    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.
     
  9. Hashiriya

    Hashiriya Power Member

    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 :/
     
  10. svr

    svr Power Member

    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
     
  11. Hashiriya

    Hashiriya Power Member

    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
     

Partilhar esta Página