Frage

Mit EditorFor (Modell Lambda "viewTemplateName"), ist meine Ausgabe vollständig nicht wie erwartet. Dies erzeugt keine Fehler, aber es ist Rendering-Ausgabe ohne Markup. Was mache ich falsch?

Der Ausgang:

HarryTomRichard

Die erwartete Ausgabe (Ich brauche, um herauszufinden, wie die Liste [] Indizes für ID zu machen, aber nicht zu diesem Problem noch):

<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>

Meine Klassen:

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

Mein Controller:

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);
}

Meine Übersicht:

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

Meine Klassenvorlage (Bekanntmachung des m => Artikel, damit ich die Artikel verwenden kann, nicht das Modell):

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>

Meine Schüler Vorlage:

Inherits="System.Web.Mvc.ViewUserControl<Marcs.Models.Student>"
%><span><%= Html.Encode( Html.EditorFor( m => m.Name)) %></span>
War es hilfreich?

Lösung

hat jfar die Antwort, und ich werde es entsprechend markieren, wenn hinzugefügt. Die Lösung war einfach die Dateien in wurden lokalisiert, um sicherzustellen, Aussicht-> ControllerName-> EditorTemplates und Aussicht-> ControllerName-> DisplayTemplates. Diese können auch zu im freigegebenen Ordner befindet.

Ich mag diesen Beitrag. Jetzt muss ich lernen, wie man das MVC-2-Vorlage Html Helfer verwenden, die Referenzsammlungen. Es ist in MVC 2 RC.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top