MVC 3 でデータ ドリブン メニューを作成しようとしています。次のコードを完成させます。
モデル :
#region MenuTree
public class MenuTree : BusinessObject
{
#region Constructor
public MenuTree()
{
}
#endregion
#region Property
#region ParentID
private int _nParentID;
public int ParentID
{
get { return _nParentID; }
set { _nParentID = value; }
}
#endregion
#region MenuName
private string _sMenuName;
public string MenuName
{
get { return _sMenuName; }
set { _sMenuName = value; }
}
#endregion
#region LinkText
private string _sLinkText;
public string LinkText
{
get { return _sLinkText; }
set { _sLinkText = value; }
}
#endregion
#region ActionName
private string _sActionName;
public string ActionName
{
get { return _sActionName; }
set { _sActionName = value; }
}
#endregion
#region ControllerName
private string _sControllerName;
public string ControllerName
{
get { return _sControllerName; }
set { _sControllerName = value; }
}
#endregion
#endregion
#region Functions
public MenuTree Get(int MenuTreeID)
{
return MenuTreeService.Instance.Get(new ID(MenuTreeID));
}
public ID Save()
{
return MenuTreeService.Instance.Save(this);
}
public void Delete()
{
MenuTreeService.Instance.Delete(ID);
}
#endregion
}
コントローラー部:
public class TreeMenuController : Controller
{
//
// GET: /TreeMenu/
public ActionResult Index()
{
return View(MenuTrees.Gets());
}
}
view :
@model ESimSolMVC05.Models.MenuTrees
@{
ViewBag.Title = "Index";
}
<table>
<thead>
<tr>
<th> ID </th>
<th> ParentID</th>
<th> Menu Name</th>
</tr>
</thead>
<tbody>
@foreach (ESimSolMVC05.Models.MenuTree item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.ObjectID)</td>
<td>@Html.DisplayFor(modelItem => item.ParentID)</td>
<td>@Html.DisplayFor(modelItem => item.MenuName)</td>
</tr>
}
</tbody>
</table>
次に、次のコードを使用して、ビューを _layout の部分ビューとして呼び出そうとします:
@Html.Partial("~/Views/TreeMenu/index.cshtml")
しかし、プロジェクトを実行すると例外が発生します
私の例外メッセージは次のとおりです:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
誰かが私に提案します私は部分的なビューと呼ぶことができます