Pregunta

Tengo una plantilla de editor (vistas / compartida / editNordemplate / horder.ascx) que hereda

System.Web.Mvc.ViewUserControl<CCOK2.Models.HORDER>

MI ViewModel tiene una relación de uno a muchos que uso HTML.EDITORFOR para representar múltiples hordas

<%: Html.EditorFor(model => model.PEOPLE.HORDERS, new {fred="hello"})%>

Finalmente, lo que quiero hacer es pasar en los datos para una lista desplegable, sin embargo, por el momento, solo estoy tratando de pasar en una cadena "Hello"

Si insoco lo siguiente en horder.ascx

<%: ViewData.Count() %>

i Obtengo la salida "0". Un intento de obtener el ViewData falla.

Sin embargo, si usa el editor para un solo elemento, funciona como se esperaba: agregué FIRTHORDOR a My ViewModel, el set es como modelo.people.horders.first () luego <%: html.editorfor (modelo=> model.firstorder , nuevo {fred="hola"})%> pasa Hola como se espera.

Entonces ... ¿Hay alguna forma de conseguir que el editor para trabajar con datos adicionales al llamarlo con una relación de uno a muchos?

Editar: Se ha sugerido en otros lugares que utilice el editor para un bucle forach contra los pendientes individuales. Esto funciona (es decir, el ViewData adicional se pasa correctamente), pero termino con cada control prestado por el editor para tener la misma ID y nombre en lugar de la gente. Los derechos [n]. CAMPIAL, que no es deseable.

¿Fue útil?

Solución

Después de mucho tiempo, parece que no es posible hacer esto: considero que un error en el marco.La solución es insertarla en el ViewData antes de la llamada Editorfor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top