ASP.NET MVC 2 UIテンプレートは、マークアップせずにデータを表示します。直し方?

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

質問

予想通り EditorFor(モデルラムダ、「viewTemplateName」)を使用して、私の出力は完全ではありません。これは、すべてのエラーを生成しませんが、それはマークアップなしで出力をレンダリングしています。何が私が間違っているのでしょうか?

出力:

HarryTomRichard

予想される出力(私はまだその問題にすぎなく、IDのリスト[]のインデックスをレンダリングする方法を把握する必要があります):

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

私のクラスます:

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

私のコントローラーます:

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

私のインデックス表示:

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

私の教室テンプレート(通知M =>項目Iはアイテムではなく、モデルを使用できるように)。

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>

私の学生テンプレートます:

Inherits="System.Web.Mvc.ViewUserControl<Marcs.Models.Student>"
%><span><%= Html.Encode( Html.EditorFor( m => m.Name)) %></span>
役に立ちましたか?

解決

jfarは答えを持っており、追加したとき、私はそれを適切にマークします。ソリューションは、ファイルはビュー - > ControllerName-> EditorTemplatesとビュー - > ControllerName-> DisplayTemplatesに位置していたことを確認するだけでした。これらは、あまりにも、共有フォルダに配置することができます。

私はこの記事が好きです。今、私はMVC 2のテンプレートのHTMLヘルパーその参照のコレクションを使用する方法を学習する必要があります。これは、MVC 2 RCでいます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top