Hola,
Tengo una duda en vb.net, estoy realizando un formulario de subida de imágenes al servidor y me he encontrado con el problema que describo a continuación.
El formulario de prueba es muy sencillo:
<asp:Label ID="lblError" runat="server" Text="" Visible="false"></asp:Label>
<asp:FileUpload ID="fuImagen" runat="server" /><asp:LinkButton runat="server" ID="btnSubmit" Text="Enviar" />
<asp:Image ID="tmpImagen" runat="server" Visible="false" />
<asp:LinkButton ID="btnCambiar" runat="server" Text="Cambiar Imagen" Visible="false"></asp:LinkButton>
La idea es seleccionar una imagen desde el FileUpload, pulsar el botón Enviar y que almacene la imagen en una carpeta del servidor temporalmente.
Ej:
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
...
fuImagen.SaveAs(Server.MapPath(strImage))
MostrarImagen()
...
A continuación se llama al método MostrarImagen y hasta ahí todo correcto:
Public Sub MostrarImagen()
tmpImagen.ImageUrl = objImage.GetImageUrl
...
*objImage: clase donde está definido el proceso...
y el problema viene cuando finaliza el evento btnSubmit_Click, ya que objImage pierde cualquier valor posible, como si se refrescara la página y perdiera todo (pero la imagen se muestra correctamente y no pierde ninguna de las propiedades establecidas por código al formulario [visibilidad, botones enabled, etc])
Al pulsar el botón Cambiar ya da error ya que dice que el objeto no está definido y debería crearlo de nuevo...
Posiblemente tenga una solución sencilla que yo no se ver. Muchas gracias!
Saludos,
Iván