• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

gandalf1986

boas ,

5 mensagens neste tópico

Boas é o seguinte , quero passar uma variavel inteiro para outra página , tenho um menu com o codigo que estou a utilizar é o seguinte :

  Sub MyList_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles MyList.ItemCommand

        Dim CategoriaID As Integer

        MyList.SelectedIndex = e.Item.ItemIndex

        CarregaCategorias()

        CategoriaID = MyList.DataKeys(e.Item.ItemIndex)

        Response.Redirect("Categorias.aspx? CategoriaID =" + CategoriaID)

    End Sub

End Class

E na Página categorias tenho :

Sub CarregaCategoriasArtigos(ByVal categoriaid As Integer)

      Dim conn As New SqlConnection((ConfigurationManager.ConnectionStrings("SitedeJogosConnectionString").ConnectionString))

        Dim sql2 As String

        sql2 = "SELECT CategoriaArtigoID,Nome FROM CategoriasArtigos "

        sql2 &= "WHERE CategoriaID=" & categoriaid

        Dim cmd2 As New SqlCommand(sql2, conn)

        Dim dr2 As SqlDataReader

        conn.Open()

        dr2 = cmd2.ExecuteReader()

        DataList2.DataSource = dr2

        DataList2.DataBind()

        dr2.Close()

        conn.Close()

    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim categoria1 As Integer = Request.QueryString("CategoriaID")

        CarregaCategoriasArtigos(categoria1)

    End Sub

End Class

O objectivo passa pelo seguinte tenho dois datalists , um na página Menu.ascx com um datalist carregado por categorias , e outro datalist em categorias , o utilizador ao carregar no link das categorias aparece os produtos relacionados com essa categorias , se alguem poder ajudar , agradeço com os melhores , cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Sempre podes utilizar o session do tipo:

Session.Add("Variavel", Variavel)

e depois quando a quizeres ir buscar na outra pagina basta fazeres:

VariavelNaNovaPagina = Session("Variavel")

Ou entao sempre podes guardar isso num cookie mas a certos explorers que nao permitem a gravação de cookies :D

Boa sorte :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No teu post mostraste como tas a fazer...mas fiquei sem perceber se n era assim que querias ou se tava a dar-te erro!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Além de que o título do teu post é completamente irrelevante à questão. Devias mudar isso para a tua dúvida em concreto, não só para teres mais ajuda, como para er mais fácil a posteriores pesqiusas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Uma forma que tens para passar informação entre páginas é usar o Cross-Page Posting, da infraestrutura ASP.Net.

Basicamente esta técnica permite aceder à página anterior e consultar as suas propriedades publicas. Então podes guardar a informação que desejas consultar na página seguinte em propriedades e na nova página acedes a página anterior:

Dim sourcePage As <tipo da página>
sourcePage = CType(PreviousPage, <tipo da página>)

Vê melhor aqui: http://msdn.microsoft.com/en-us/library/ms178139.aspx

Esta solução tem como desvantagem a necessidade de carregar a página anterior...

A ideia que o Hellblazer deu é utilizar o estado de sessão para passar informação entre as páginas. É uma possibilidade também, mas eu pessoalmente não gosto muito. Ao utilizar estado de sessão corro o risco de os pedidos serem serializados :) para que isto aconteça basta que dois pedidos tenham a mesma chave de sessão e recorram ao estado de sessão. Acho que o estado de sessão deve ser utilizado em situações em que é mesmo necessário.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora