Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: novalida en 17 Noviembre 2010, 19:53 pm



Título: Mantener datos en control del MasterPage en ASP.NET [SOLUCIONADO]
Publicado por: novalida en 17 Noviembre 2010, 19:53 pm
Hola,
no sé si esta pregunta iría en este foro o en en de desarrollo web, pero al tratarse de ASP.NET me parecía adecuado aquí. Si me equivoco, por favor, disculpad y movedme el post al foro pertinente.
Estoy haciendo un sitio web con que contiene varios web forms .aspx y una MasterPage.
En la MasterPage tengo un control TextBox donde se tecleará el nombre del producto a buscar y se pulsa un botón. Al pulsar el botón se carga el web form "busqueda.aspx" donde se ejecuta un procedimiento que carga el texto del MasterPage de la siguiente manera:

Código:
        Dim SourceTextBox As TextBox
        SourceTextBox = CType(Page.Master.FindControl("txt_busqueda"), TextBox)
        If Not SourceTextBox Is Nothing Then
            cadena = SourceTextBox.Text
        End If

El problema es que siempre se carga el valor por defecto del TextBox ("Buscar producto...") y no el nombre del producto a buscar.
Incluí ese código en el procedimiento Load del MasterPage para cambiar el valor del TextBox al que tenía en el formulario de origen, pero tampoco funciona.

Alguien me puede dar una idea o sabe qué puedo hacer???

Muchas gracias y un saludo :)


Título: Re: Mantener datos en control del MasterPage en ASP.NET
Publicado por: [D4N93R] en 18 Noviembre 2010, 04:50 am
No tienes por qué hacer eso, el evento del textbox lo manejas en el mismo masterpage y luego saltas a busqueda.aspx y le pasas el parametro por querystring.

Un saludo!


Título: Re: Mantener datos en control del MasterPage en ASP.NET
Publicado por: novalida en 18 Noviembre 2010, 09:52 am
Hola,
muchas gracias por responder.
Tienes toda la razón. Ya había intentado utilizando el método Request.QueryString pero algo hacía mal y no me daba cuenta qué era (he empezado esta semana con ASP.NET y no tengo nada de experiencia en desarrollo web). Ahora al probar de nuevo ha funcionado correctamente.
Al final, por si a alguien le sirve de ayuda, así queda el evento de la MasterPage:

Código:
Protected Sub btnbusqueda_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnbusqueda.Click
        Response.Redirect("busqueda.aspx?txtBusqueda=" + txt_busqueda.Text)
    End Sub

Y así queda la recogida de datos en el web form en el que se muestra la búsqueda:

Código:
cadena = Request.QueryString("txtBusqueda")


Muchas gracias por la ayuda y un saludo :)


Título: Re: Mantener datos en control del MasterPage en ASP.NET [SOLUCIONADO]
Publicado por: [D4N93R] en 19 Noviembre 2010, 04:02 am
Exacto! muy bien.

Y bueno, suele suceder cuando vienes de otra metodología.

Un saludo!