none
como funciona el edit de una aplicacion mvc RRS feed

  • Pregunta

  • Hola, tengo una aplicacion mvc pero no entiendo muy bien como funciona su codigo, ¿alguien me podria explicar como funciona el controller y la vista? tengo varias aplicaciones programadas por mi pero no se que variables se pasan entre el controller y la vista, por ejemplo tengo un create y un edit que se forman por dos partes, pongo fragmento de codigo:

            Function Edit(ByVal id As Integer?) As ActionResult
                'CargarCombos()
                ViewBag.UnidadLayout = GetAllUnidadesCHJ()
    
                If IsNothing(id) Then
                    Return New HttpStatusCodeResult(HttpStatusCode.BadRequest)
                End If
    
                Dim aplicaciones As APP_Aplicacion = GetAplicacionPorId(id)
                If IsNothing(aplicaciones) Then
                    Return HttpNotFound()
                End If
    
    
    
    
                ViewBag.Tipo = GetAllTiposAplicaciones()
                ViewBag.Estado = GetAllTiposEstado()
                ViewBag.UnidadR = GetAllUnidadesCHJ()
                ViewBag.NivelSeg = GetAllNivelesSeguridad()
                ViewBag.ResponsableI = GetAllUsuarioDirectorioActivoDAO()
                ViewBag.ResponsableContenido = GetAllUsuarioDirectorioActivoDAO()
    
                ViewBag.LOPD = aplicaciones.APP_LOPD
                'ViewBag.Monitorizado = aplicaciones.APP_Monitorizado
    
                Return View(aplicaciones)
            End Function
    
            <HttpPost()>
            <ValidateAntiForgeryToken()>
            Function Edit(aplicaciones As APP_Aplicacion, ByVal Boton As String, ChbLOPD As String) As ActionResult
                CargarCombos()
    
    
                If IsNothing(aplicaciones.APP_IdAplicacion) Then
                    Return New HttpStatusCodeResult(HttpStatusCode.BadRequest)
                End If
                Dim Aplicacion As APP_Aplicacion = aplicaciones
                If IsNothing(Aplicacion) Then
                    Return HttpNotFound()
                End If
    

    esta incompleto, pero solo es para que se vea que tiene dos edit al igual que el create,  la primera parte se utiliza antes de cargar la vista y la segunda una vez cargada si se interactua con algun boton por ejemplo. ¿La primera parte le pasa alguna variable a la segunda? tengo un caso raro que no se comporta como toca.

    por ejemplo quiero hacer un listado de registros pongo captura:

    mostrandose la siguiente vista:


    hasta aqui todo bien,  lo que no esta correcto es que al pulsar alguno de los botones 1,2,3,4... sucede que pasa por la primera parte del logs pero no por la segunda y tiene id, adjunto foto.

    ahora voy a la vista y no tiene id de aplicacion no le ha pasado ningun parametro, he tenido que hacer lo que antes se hacia aqui @Html.HiddenFor(Function(model) model(0).APP_IdAplicacion) APP_IdAplicacion is nothing le paso un viewbag.APP_IdAplicacion creado en la primera parte del logs, los demas campos como debe ser fallan, no se como funciona,  creo que se debe a que esta funcion @Html.PagedListPager(Model, Function(page) Url.Action("Logs", New With {page, .sortOrder = ViewBag.CurrentSort})) solo llama a la primera parte del logs, ¿no se puede hacer que llame a la segunda directamente? creo que debo de aprender muchas cosas, un saludo

    viernes, 28 de septiembre de 2018 10:24