EditorFor (모델 람다, "viewTemplateName")를 사용하면 내 결과가 예상대로 나지 않습니다. 이것은 오류를 생성하지 않지만 마크 업없이 출력을 렌더링합니다. 내가 도대체 뭘 잘못하고있는 겁니까?태그가없는 데이터를 표시하는 ASP.NET MVC 2 UI 템플릿. 어떻게 고치는 지?
아웃풋 :
HarryTomRichard
예상 출력 (I 아직 그 문제에 너무하지만 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 통지 => 항목 나는 항목이 아닌 모델을 사용할 수 있도록) :
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>
문제는 View 경로로 인해 발생할 수 있습니다. 당신은 그 파일 전부의 경로를 게시 할 수 있습니까? – jfar
와우. 그래, 그게 다야. 대답으로 써서 적절하게 표시하겠습니다. 도와 주셔서 감사합니다. 이제 EditorFor를 사용하여 체크 박스와 라디오 버튼 세트를 렌더링 한 다음 "Classroom [0] _Student [0] _Name"과 같은 ID로 List 항목을 렌더링하는 등의 작업을 수행합니다. –