ASP.NET MVC 2 plantillas de interfaz de usuario de la visualización de datos sin formato. ¿Como arreglar?

StackOverflow https://stackoverflow.com/questions/2300980

Pregunta

El uso de EditorFor (modelo lambda, "viewTemplateName"), mi salida no es completamente como se esperaba. Esto no produce ningún error, pero es una salida de representación sin marcaje. ¿Qué estoy haciendo mal?

La salida:

HarryTomRichard

El resultado esperado (necesito averiguar cómo representar los [] índices Lista de Identificación también, pero no a ese problema todavía):

<table>
    <tr><td><span><input type="Text" id="Name[0]" value="Harry" /></span></td></tr>
    <tr><td><span><input type="Text" id="Name[1]" value="Tom" /></span></td></tr>
    <tr><td><span><input type="Text" id="Name[2]" value="Richard" /></span></td></tr>
</table>

Mis Clases:

namespace Marcs.Models {
    public class Student   { public string Name { get; set; } }
    public class Classroom { public List<Student> Students { get; set; }
}

Mi controlador:

public ActionResult Index() {
    var myStudents = new List<Student>();
    myStudents.Add(new Student { Name = "Harry" });
    myStudents.Add(new Student { Name = "Tom" });
    myStudents.Add(new Student { Name = "Richard" });
    var myClass = new Classroom {Students = myStudents};
    return View(myClass);
}

Mi Índice Ver:

Inherits="System.Web.Mvc.ViewPage<Marcs.Models.Classroom>" %>
<% using (Html.BeginForm()) { %>
    <%= Html.EditorFor(m => m.Students, "Classroom") %>
    <input type="submit" value="Save" />
<% } %>

Mi Plantilla Aula (aviso de la m => elemento para que pueda utilizar el artículo, no el modelo):

Inherits="System.Web.Mvc.ViewUserControl<List<Marcs.Models.Student>>" %>
<table>
    <% foreach (Marcs.Models.Student item in Model)
    { %><tr><td><%= Html.EditorFor(m => item, "Student")%></td></tr><%
    } %>
</table>

Mi Plantilla Estudiante:

Inherits="System.Web.Mvc.ViewUserControl<Marcs.Models.Student>"
%><span><%= Html.Encode( Html.EditorFor( m => m.Name)) %></span>
¿Fue útil?

Solución

jfar tiene la respuesta, y lo marcará de manera apropiada cuando se añade. La solución era simplemente para garantizar que los archivos se encuentran en Vistas-> ControllerName-> EditorTemplates y Vistas-> ControllerName-> DisplayTemplates. Estos también pueden estar ubicados en la carpeta compartida también.

Me gusta este post. Ahora tengo que aprender cómo utilizar el MVC 2 plantilla HTML ayudantes que las colecciones de referencia. Está en MVC 2 RC.

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