Jump to content

boas ,


gandalf1986
 Share

Recommended Posts

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

Link to comment
Share on other 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 😄

Boa sorte 😄

There are two ways to write error-free programs; only the third one works.

Link to comment
Share on other 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.

Daniel Amorim

VP for xRTML

http://www.xrtml.org http://www.realtime.co

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.