我一直在做菜單和其他導航項目的是,我有這方面的ViewModel類。這是一個簡化版本。
視圖模型
public class Action
{
public string DisplayName { get; set; } // localized
public string Url { get; set;
}
public class MenuViewModel
{
public List<Action> Actions { get; set; }
public MenuViewModel()
{
this.Actions = new List<Action>();
}
}
我填補根據用戶的角色。聯繫變得更加鏈接等
這是視圖模型「主」視圖模型
public class AlbumEditorViewModel
{
public MenuViewModel Menu { get; set; }
}
的一部分,那麼我會通過該負責菜單中的部分觀點,即視圖模型。
視圖(剃刀)
@model AlbumEditorViewModel
.. razor stuff here ..
@Html.Partial("Menu", Model.Navigation)
.. razor stuff here ..
管窺
@model MenuViewModel
<ul>
@foreach (var action in Model.Actions)
{
<li>
@GridHelper.GetAction(action)
</li>
}
</ul>
我希望這會給你的想法
來源
2012-02-22 12:59:12
Tx3
我喜歡你的方法,使視圖不知道部分渲染。我將看看DisplayFor幫助程序的功能。謝謝! – Dante 2012-02-22 13:17:53
儘管我不打算實施此解決方案,但我確實認爲這是解決問題的最佳方法。現在,我將採用更簡單的解決方案,如果管理視圖的複雜性增加,我會重構此解決方案。乾杯! – Dante 2012-02-22 14:11:14