none
pasar el valor de una variable a una vista RRS feed

  • Pregunta

  • Hola

    A ver si me explico bien,

    quiero pasar el valor de una variable a una vista en vb.net

    En el archivoA.aspx.vb
    Private Sub CargarGridCobrados(A As Integer(), pagado As String)

    Response.Redirect("archivoB.aspx")   ======> aqui es donde quiero q se me muestre el valor de pagado (y no en archivoA.aspx)

    cómo puedo hacerlo? gracias


    Jose

    miércoles, 29 de junio de 2016 12:29

Respuestas

  • [...] Response.Redirect("Default.aspx"?MiDato=" + variable) está controlado. Pero para mostrarla no me ha quedado muy claro ya que no tengo declaraciones de variables dentro de la vista.

    Si el Redirect va a parar a Default.aspx, entonces no es una vista sino una página. Y si es una página, entonces siempre te vas a encontrar con que tiene asociado un fichero con el code-behind, que se llamará Default.aspx.vb. Y en ese fichero siempre puedes declarar todas las variables que quieras. En este caso concreto, la línea que te indiqué antes:

    Dim valor As String = Request.QueryString("MiDato")

    la pondrías dentro del evento Page_Load en el Default.aspx.vb.

    Evidentemente, una vez que has recibido una variable con el dato deseado, puedes hacer con ella lo que quieras, por ejemplo, si únicamente quieres presentarla en la pantalla, basta con que arrastres un Label al diseño del .aspx y luego en el Page_Load pongas Label1.Text=valor.

    jueves, 30 de junio de 2016 7:32

Todas las respuestas

  • hola jose_programando

    para poder pasar parámetros 

    var variable_con_parámetro = tu_valor;
     
    Response.Redirect("Default.aspx"?Valor=" + variable_con_parámetro);


    Javier

    miércoles, 29 de junio de 2016 13:10
  • jose_programando,

    ¿Vista? ¿Te refieres a la "V" de MVC? ¿Desarrollas en ASP Net MVC?

    miércoles, 29 de junio de 2016 16:30
  • vb.net, no es MVC

    Jose

    jueves, 30 de junio de 2016 6:07
  • Hola,

    He puesto  Response.Redirect("fichero.aspx?Pago=" & C)

    y como lo muestro en la vista? porque si pongo <%=Pago%> no me reconoce la variable :(

    Gracias


    Jose

    jueves, 30 de junio de 2016 6:50
  • vb.net, no es MVC

    Eso no está nada claro. Puedes programar MVC con VB.NET. Y también puedes programar WPF con VB.NET, usando o sin usar MVVM. Y también puedes hacer WinForms con VB.NET, y puedes hacer WebForms con VB.NET, y Servicios Windows con VB.NET, y muchas otras cosas. Básicamente, lo que quiero hacerte ver es que decir que "desarrollas con VB.NET" no es decir nada acerca del tipo de aplicación que estás desarrollando; todas o casi todas se pueden hacer con VB.NET. Aunque en este caso, y dado el Response.Redirect("algo.aspx"), cabe entender que estás usando WebForms.

    Usualmente, la forma más simple de pasar un parámetro de una página a otra (en WebForms solemos decir "página", no "vista") es pasarlo en el query string, como ya te han indicado en otra respuesta:

    Response.Redirect("Default.aspx"?MiDato=" + variable)

    Y luego para recogerlo en la página de destino:

    Dim valor As String = Request.QueryString("MiDato")


    jueves, 30 de junio de 2016 6:51
  • Gracias por tu explicacion, he trabajado en MVC con C# pero no en vb.net por eso ando un poco perdido ya que esto sería:

    tengo un ficheroA.aspx.vb con su ficheroA.aspx
    un ficheroB.aspx.vb con su ficheroB.aspx

    Bien, pues quiero coger una variable del ficheroA.aspx.vb y que la muestre en la vista ficheroB.aspx

    Entiendo que para enviar la variable sería: Response.Redirect("Default.aspx"?MiDato=" + variable) está controlado. Pero para mostrarla no me ha quedado muy claro ya que no tengo declaraciones de variables dentro de la vista. (no se si me he explicado bien, muchas gracias por vuestra ayuda)


    Jose

    jueves, 30 de junio de 2016 7:15
  • [...] Response.Redirect("Default.aspx"?MiDato=" + variable) está controlado. Pero para mostrarla no me ha quedado muy claro ya que no tengo declaraciones de variables dentro de la vista.

    Si el Redirect va a parar a Default.aspx, entonces no es una vista sino una página. Y si es una página, entonces siempre te vas a encontrar con que tiene asociado un fichero con el code-behind, que se llamará Default.aspx.vb. Y en ese fichero siempre puedes declarar todas las variables que quieras. En este caso concreto, la línea que te indiqué antes:

    Dim valor As String = Request.QueryString("MiDato")

    la pondrías dentro del evento Page_Load en el Default.aspx.vb.

    Evidentemente, una vez que has recibido una variable con el dato deseado, puedes hacer con ella lo que quieras, por ejemplo, si únicamente quieres presentarla en la pantalla, basta con que arrastres un Label al diseño del .aspx y luego en el Page_Load pongas Label1.Text=valor.

    jueves, 30 de junio de 2016 7:32
  • En este proyecto no se arrastran labels, pero me lo he creado manualmente, y funciona todo

    Muchas gracias Alberto!! muchas muchas!!


    Jose

    jueves, 30 de junio de 2016 8:00