私はゲームに遅れています。私はEditorForに苦労しています。
テンプレートを使用してエンティティの名前をテキスト ボックスに表示する代わりに、名前が画面に書き込まれます。私の実際のプロジェクトではguidが書かれているように、オブジェクトの最初のプロパティを書いているようです。
テンプレートを指定する際にエディターを使用するにはどうすればよいですか?
ホームコントローラー
public ActionResult Index()
{
HomeModel homeModel = new HomeModel();
homeModel.RoomModels = new List<RoomModel>();
homeModel.RoomModels.Add(new RoomModel() { RoomName = "Room-1" });
homeModel.RoomModels.Add(new RoomModel() { RoomName = "Room-2" });
homeModel.RoomModels.Add(new RoomModel() { RoomName = "Room-3" });
return View(homeModel);
}
ホームモデル
public class HomeModel
{
public List<RoomModel> RoomModels { get; set; }
}
ルームモデル
public class RoomModel
{
public string RoomName { get; set; }
}
/Views/Home/Index.cshtml
@model MVC.Temp.Models.Home.HomeModel
<h1>Home</h1>
<div id="RoomModels">
@Html.EditorFor(m => m.RoomModels, "_RoomModelEditor")
</div>
/Views/Home/_RoomModelEditor.cshtml
@model MVC.Temp.Models.Home.RoomModel
@Html.TextBoxFor(x => x.RoomName)
現在の出力: