none
No puedo agregar objetos a la lista (c#) RRS feed

  • Pregunta

  • Buenos dias, me llamo matias, programo hace casi 2 años ya, comence con windows forms y en el trabajo me pasaron a area de desarrollo, en donde programan con asp, poniendome a practicar estoy haciendo un sistema sencillo aunque trabajoso debido a mi poca experiencia en web, y mi problema es el siguiente

    Tengo libros, que contienen paginas, desde la base de datos cargo las plantillas (paginas modelo) que utilizo para crear las paginas de los libros, se me carga bien, al hacer click en la correspondiente plantilla se me carga en el area de trabajo y comienzo a agregarle texto e imagenes, ahora el problema me surge cuando quiero guardar esta pagina ya terminada a la lista de paginas del libro que escribo, tengo el boton guardar que ejecuta la funcion guardar pagina que hace un list.add (en forms funciona).

    Lo que observo que ocurre es que hace un load de la pagina antes de ejecutar la funcion guardarEnLista, lo que hace un "borrado" del trabajo hecho sobre la pagina perdiendo el progreso, y la verdad es que no ecnuentro cual es el modo correcto de trabajar con web, que no me tomo mucho tiempo darme cuenta en que es diferente a winforms.

    Imagino que deberia ser algo basico pero escapa a mis conocimientos, si alguien podría iluminarme con sus conocimientos estaria mas que agradecido.

    Tengan buena jornada

    domingo, 11 de noviembre de 2018 14:36

Respuestas

  • hola

    >>4 - ejecutar load de la pagina (lo que deberia ocurrir en 4to lugar ocurre en segundo lugar)

    Creo que deberias leer sobre el ciclo de vida de las paginas

    Información general sobre el ciclo de vida de una página ASP.NET

    analiza los eventos como se generan, esta correcto que el load se de al principio, por eso comente lo del if(!IsPostBack) que debes evaluar

    >>En forma particuar estoy haciendo un curso de asp mvc a travez de udemy.

    eso me parece genial

    puedes ver que asp.net mvc es mas dificil que asp.net ? una vez que sabes que ingresas por el action de controller el resto sale solo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 12 de noviembre de 2018 1:10

Todas las respuestas

  • hola

    >>Lo que observo que ocurre es que hace un load de la pagina antes de ejecutar la funcion guardarEnLista, lo que hace un "borrado" del trabajo hecho sobre la pagina perdiendo el progreso

    dos puntos:

    - Recuerda evaluar el

    if(!IsPostBack){

    }

    para no eliminar datos que quieres conservar cuando se efectua el evento de un control

    - Usa el objeto Session para conservad datos del lado del servidor entre acciones, o si quieres hacerlo del lado del cliente el ViewState

    Información general sobre el estado de sesión de ASP.NET

    >>la verdad es que no ecnuentro cual es el modo correcto de trabajar con web

    porque a estas alturas estas aprendiendo asp.net en lugar de usar asp.net mvc ?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    domingo, 11 de noviembre de 2018 16:56
  • Buenas tardes Leandro, antes que nada te agradezco por varias de tus dudas consultadas en este foro las cuales me han sido de mucha utilidad

    Siguiendo con el asunto, al momento de almacenar las variables en la lista ya no se encuentran los valores trabajados, sino los precargados al inicio de la pagina

    - Recuerda evaluar el

    if(!IsPostBack){

    }

    para no eliminar datos que quieres conservar cuando se efectua el evento de un control

    - Usa el objeto Session para conservad datos del lado del servidor entre acciones, o si quieres hacerlo del lado del cliente el ViewState

    eso lo hago, y me funciona al cargar la lista con las plantillas al inicio, luego de detectar que se trata de un postback, la lista de plantillas se llena con la que se encuentra almacenada en la sesion

    lo que en mi cabeza pienso que deberia hacer es 

    1 - hacer click en boton guardar

    2 - ejecutar funcion guardarEnLista

    3 - guardar la pagina en la lista y la lista en la sesion

    4 - ejecutar load de la pagina

    5 - revisar que se trata de un postback, por lo que entra en el else y llena la lista de paginas trabajadas con la guardada en session anteriormente

    6 - mostrarme las listas en pantalla

    lo que ocurre realmente

    1 - hacer click en boton guardar

    4 - ejecutar load de la pagina (lo que deberia ocurrir en 4to lugar ocurre en segundo lugar)

    2 - ejecutar funcion guardarEnLista

    3 - guardar la pagina en la lista y la lista en la sesion

    5 - revisar que se trata de un postback, por lo que entra en el else y llena la lista de paginas trabajadas con la guardada en session anteriormente

    6 - mostrarme las listas en pantalla (en esta ocacion solo la de las plantillas debido a que la de paginas trabajada llega en cero)

    Muchisimas gracias por tu pronta respuesta

    domingo, 11 de noviembre de 2018 19:32
  • Olvide responder a tu pregunta, en mi trabajo programan en asp, debido a que no se cuenta con personal que sea programador mas avanzado, ademas todos los que llegamos ahi tenemos conocimientos mas junior, donde me encuentro hay 3 unicamente que son programadores senior (y no se si un poco mas alla) por lo que decidieron hacer los sistemas de una forma que sea mas facil de seguir para los que llegamos a esa area. En forma particuar estoy haciendo un curso de asp mvc a travez de udemy.
    domingo, 11 de noviembre de 2018 19:34
  • hola

    >>4 - ejecutar load de la pagina (lo que deberia ocurrir en 4to lugar ocurre en segundo lugar)

    Creo que deberias leer sobre el ciclo de vida de las paginas

    Información general sobre el ciclo de vida de una página ASP.NET

    analiza los eventos como se generan, esta correcto que el load se de al principio, por eso comente lo del if(!IsPostBack) que debes evaluar

    >>En forma particuar estoy haciendo un curso de asp mvc a travez de udemy.

    eso me parece genial

    puedes ver que asp.net mvc es mas dificil que asp.net ? una vez que sabes que ingresas por el action de controller el resto sale solo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 12 de noviembre de 2018 1:10
  • Buenos dias, al final lo termine resolviendo con jquery, usando jquery y algunos updatepanel logre lo que buscaba. Muchas gracias por sus respuestas y su buena predisposicion de siempre
    martes, 27 de noviembre de 2018 12:03