Este mensaje de error me está volviendo loco.

Estoy recibiendo es cuando el uso de Html.ListBox y Html.DropDownList HtmlHelpers con ASP.NET MVC v1.0. Rellenar las listas de obras OK – puedo verlos, etc -, pero cuando voy a crear un nuevo registro en el Modelo de uso de la FormCollection pasado en el Controlador para obtener el valor seleccionado, se produce este error. He probado varias configuraciones diferentes y código de arreglos como por varios otros posts sobre este asunto – no hay alegría.

Ojalá alguien me puede decir si esto es un problema conocido o no, así como yo puedo seguir adelante con mi vida! Preferiría no tener que publicar el código si es necesario, pero puede hacerlo si así lo solicita.

Oh, y una propuesta de solución alternativa sería bueno también 😉

TIA!

Bernard.


Ok, actualización rápida, he publicado tres comentarios a las respuestas debajo de la aclaración de los detalles en cuanto a lo que estoy hasta aquí.

Ahora tengo otro tema para compartir – he probado ScottGu alternativa del enfoque recomendado – la implementación de una vista de modelo. Así, cuando hago esto es básicamente el mismo escenario, pero me da un «referencia a Objeto no establecida como instancia de un objeto.» error en el mismo lugar que estaba recibiendo «no Hay ViewData elemento con la tecla ‘Bla’ de tipo ‘IEnumerable’.».

Estoy empezando a pensar que este es tal vez algo que ver con la forma en que funciona el EF…

  • Puede escribir su método de acción?
  • // POST: /Trabajo/Crear [AcceptVerbs(HttpVerbs.Post)] public ActionResult Crear(FormCollection colección) { try { // obtener las variables listo int jobID, taskID; int.TryParse(colección[«Empleo»], fuera jobID); int.TryParse(colección[«Tareas»], fuera taskID); // configuración del objeto de negocio var trabajo = de Obra nueva(); trabajo.Comentario = colección[«Comentario»]; trabajo.Trabajo = dataSourceJob.GetJob(jobID); y el trabajo.Tarea = dataSourceTask.GetTask(taskID); // actualizar la base de datos y devolver dataSourceWork.Agregar(trabajo); return RedirectToAction(«Index»); } catch { return View(); } }
  • Oh, que se ve muy desagradable. Lo siento compañero, espero que usted puede desenredar ese código!
InformationsquelleAutor Bernard | 2009-05-17

3 Comentarios

  1. 2

    Ok, muuuy claro que estoy un EF/MVC noob…

    Aunque el problema fue solucionado por mi en la aplicación adecuada de gestión de excepciones…el mensaje de excepción (cuando en realidad me empezó a atrapar a) fue «La relación entre los dos objetos no se puede definir porque están ligados a diferentes ObjectContext objetos.». Así que estoy usando el mismo ObjectContext para todos los datos de acceso de ahora, y las cosas están de vuelta en la pista.

    Gracias por cuidar, voy a tener una mejor pregunta la próxima vez – promesa!

    Bernard.

  2. 0

    No saber que la codificación de esto va a ser difícil para las personas a identificar la problemática de la zona. Lee este hilo del foro – más abajo tiene un error similar a usted.

    http://forums.asp.net/p/1320426/2623986.aspx

    • Ok, disculpas, no me han ofrecido muchos detalles – tenía la esperanza de que esta es una forma bastante generalizada problema. Básicamente, lo que estoy tratando de hacer es lo que ScottGu habla a través de aquí: nerddinnerbook.s3.amazonaws.com/Part6.htm quiero PUBLICAR un ‘Crear’ o ‘Editar’ resultado hacia el Controlador.
    • El error se produce en «el trabajo.Tarea = dataSourceTask.GetTask(taskID);». Estoy usando Entity Framework. El Trabajo y la Tarea de las propiedades de la estructura de Trabajo se EntityReferences. El bizzare cosa es que todo funciona bien hasta el momento de la caída. Mi jobID y taskID variables se rellenan de trabajo.El trabajo se rellena bien, el error se produce siempre cuando voy a hacer algo más allá de rellenar la primera hace referencia a la estructura (sí, he tratado de manipular el código para hacer otras cosas, rellenar la Tarea en primer lugar, etc – siempre el mismo error). La esperanza puede ayudar! Saludos, Bernard.
  3. 0

    De nuevo puedes vincular a tu lista de selección en el acuerdo con el método post donde se produce la validación.
    Por ejemplo, usted tiene un error dentro de la vista de crear el controlador que se puede volver a enlazar lista desplegable en crear el método post.

Dejar respuesta

Please enter your comment!
Please enter your name here