none
Accion de Editar RRS feed

  • Pregunta

  • En la acción de Editar, como tendría que cargar el modelo para que se despliege en la vista de editar ?

    En el ejemplo utilizan lo siguiente:

    Function Edit(Optional byval Id as int32 = 0) as ViewResult

    dim model as CorCarnesModels = db.Movies.Find(id)

    Return(model)

    End Function

    En mi caso lo haría así: dim _dt as New GeneralEntities()

    pero no tengo el metodo "Find" como cargaría el modelo?

    miércoles, 14 de agosto de 2013 11:33

Respuestas

  • hola

    pero este GeneralEntities es el contexto de entity framework ?

    porque no usas ningun Find() sino que usas linq, quizas el Where() o el FirstOrDefault() si es un solo item el que buscas como resultado

    la pregunta seria usas Entity Framework ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa miércoles, 14 de agosto de 2013 14:02
    miércoles, 14 de agosto de 2013 13:20
  • Si asi es, uso Entity Framework, pense en lo mismo utilizar un Where o el FirstOrDefault() pero pense habria algo diferente que no conociera. Voy a intentar por ese lado. Gracias
    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    miércoles, 14 de agosto de 2013 14:02
  • Ahora interpret debo cargar el modelo y lo hago de la siguiente manera:

    Dim _dt As New GeneralEntities()

    Dim q = From x In _dt.TblCortes Where x.CorId = id Select New CorCarnesModels Whth {.id = x.CorId, .Name = x.CorNom, .Price = x.CorPre}

    Return View(CorCarnesModels)

    pero al llamar la vista no me permite cargar el modelo, me da el siguiente error: "CorCarnesModes Is a type and cannot be used as an expression"

    Entiendo debo cargar el model con el Id que viene de la vista para desplegarlo en la pantalla de editar o quizas tenga mal el concepto

    y
    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    miércoles, 14 de agosto de 2013 14:50
  • Esta bien asi el concepto de cargar el model ? pero como lo paso a la vista de editar ?
    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    miércoles, 14 de agosto de 2013 19:02
  • pero debes enviar el mismo tipo, no se supone que uses

    Return View(q)

    sino el query linq para que lo defines

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    jueves, 15 de agosto de 2013 1:08
  • si coloco Return View(q) me da el siguiente error:

    The model item passed into the dictionary is of type 'System.Data.Objects.ObjectQuery`1[MvcTheKnife.CorCarnesModels]', but this dictionary requires a model item of type 'MvcTheKnife.CorCarnesModels'.

    Asi interpreto la accion:

    Al hacer click en "Editar en la lista" carga el id del registro, el cual devuelve al controlador

    Public Function Edit(optional byval id as int32) as ViewResult

    Dim q = From x In _dt.TblCortes Where x.CorId = id Select New CorCarnesModels Whth {.id = x.CorId, .Name = x.CorNom, .Price = x.CorPre}

    Return View("aqui entiendo debe devolver un objeto del tipo del modelo con los datos cargados")

    End Function

    Pues en la vista del Edit espera recibir: @ModelType MvcTheKnife.CorCarnesModels

    Pero no se, no me doy cuenta que estoy hacienda mal

    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    jueves, 15 de agosto de 2013 16:28
  • Funciono bien de la siguiente manera:

    Dim c = _dt.TblCortes.firstOrDefault(Function(x) x.CorId = id)

    Dim m as New CorCarnesModes With {.id = c.CorId, .Name = c.CorNom, .Price = c.CorPre}

    Return View(m)

    Asi despliega perfecto lo unico que no me despliega la imagen de la pagina Maestra, no se porque, en todas las demas la despliega. solo un cuadrito xon una x

    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    jueves, 15 de agosto de 2013 17:23

Todas las respuestas

  • hola

    pero este GeneralEntities es el contexto de entity framework ?

    porque no usas ningun Find() sino que usas linq, quizas el Where() o el FirstOrDefault() si es un solo item el que buscas como resultado

    la pregunta seria usas Entity Framework ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa miércoles, 14 de agosto de 2013 14:02
    miércoles, 14 de agosto de 2013 13:20
  • Si asi es, uso Entity Framework, pense en lo mismo utilizar un Where o el FirstOrDefault() pero pense habria algo diferente que no conociera. Voy a intentar por ese lado. Gracias
    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    miércoles, 14 de agosto de 2013 14:02
  • Ahora interpret debo cargar el modelo y lo hago de la siguiente manera:

    Dim _dt As New GeneralEntities()

    Dim q = From x In _dt.TblCortes Where x.CorId = id Select New CorCarnesModels Whth {.id = x.CorId, .Name = x.CorNom, .Price = x.CorPre}

    Return View(CorCarnesModels)

    pero al llamar la vista no me permite cargar el modelo, me da el siguiente error: "CorCarnesModes Is a type and cannot be used as an expression"

    Entiendo debo cargar el model con el Id que viene de la vista para desplegarlo en la pantalla de editar o quizas tenga mal el concepto

    y
    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    miércoles, 14 de agosto de 2013 14:50
  • Esta bien asi el concepto de cargar el model ? pero como lo paso a la vista de editar ?
    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    miércoles, 14 de agosto de 2013 19:02
  • pero debes enviar el mismo tipo, no se supone que uses

    Return View(q)

    sino el query linq para que lo defines

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    jueves, 15 de agosto de 2013 1:08
  • si coloco Return View(q) me da el siguiente error:

    The model item passed into the dictionary is of type 'System.Data.Objects.ObjectQuery`1[MvcTheKnife.CorCarnesModels]', but this dictionary requires a model item of type 'MvcTheKnife.CorCarnesModels'.

    Asi interpreto la accion:

    Al hacer click en "Editar en la lista" carga el id del registro, el cual devuelve al controlador

    Public Function Edit(optional byval id as int32) as ViewResult

    Dim q = From x In _dt.TblCortes Where x.CorId = id Select New CorCarnesModels Whth {.id = x.CorId, .Name = x.CorNom, .Price = x.CorPre}

    Return View("aqui entiendo debe devolver un objeto del tipo del modelo con los datos cargados")

    End Function

    Pues en la vista del Edit espera recibir: @ModelType MvcTheKnife.CorCarnesModels

    Pero no se, no me doy cuenta que estoy hacienda mal

    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    jueves, 15 de agosto de 2013 16:28
  • Funciono bien de la siguiente manera:

    Dim c = _dt.TblCortes.firstOrDefault(Function(x) x.CorId = id)

    Dim m as New CorCarnesModes With {.id = c.CorId, .Name = c.CorNom, .Price = c.CorPre}

    Return View(m)

    Asi despliega perfecto lo unico que no me despliega la imagen de la pagina Maestra, no se porque, en todas las demas la despliega. solo un cuadrito xon una x

    • Marcado como respuesta eduepa jueves, 15 de agosto de 2013 17:24
    jueves, 15 de agosto de 2013 17:23