I가 다음과 같은 클래스 :디스플레이 템플릿 -보기가 발견되지 않는
public class Widget
{
public string Name { get; set; }
}
GenericModel
public class GenericModel<T>
{
public List<T> Data { get; set; }
}
내 컨트롤러 액션은 다음과 같습니다
public ActionResult Simple()
{
var model = new GenericModel<Widget>()
{
Data = new List<Widget>
{
new Widget {Name = "a"}
}
};
return View(model);
}
그리고 내보기는 다음과 같습니다
@model MyApp.GenericModel<MyApp.Widget>
@{
ViewBag.Title = "Simple";
}
<h2>Simple</h2>
@Html.DisplayFor(m=>m)
이보기를 찾을 수없는
@model MyApp.GenericModel<MyApp.Widget>
<ul>
@for (int i = 0; i < Model.Data.Count; i++)
{
<li>
@Html.EditorFor(m=> Model.Data[i].Name)
</li>
}
</ul>
: 6,
나는/공유/DisplayTemplate 폴더보기에 GenericModel.cshtml라는 파일이 있습니다. 내 모델의 유형 이름을 출력 할 때 "GenericModel 1". Seeing that, I renamed my template "GenericModel
1.cshtml"을 볼 수 있습니다. 이것은 약간의 해킹처럼 보이는데, 이것에 의지하지 않고이 디스플레이 템플릿을 찾는 더 쉬운 방법이 있습니까?
로보기, 당신의 컨트롤러 액션과 동일한 이름이 있어야합니다. – user1477388
@ user1477388 내 관점은 - 내가 말하는 DisplayTemplate입니다. –
UIHint 속성으로 재생 해 보았습니까? 템플릿을 가리키는 UIHint로 Data 속성을 꾸미면 어떻게됩니까? –