我的 Layout.cshtml 中有以下代码,用于将用户控件添加到标题中:
WorkContext.Layout.Header.Add(New.User(), "10");
然而,在标题中
<article class="widget-HeaderMenu widget-header widget-menu-widget widget" shape-id="5">
之前渲染
<div class="user-display" shape-id="15">
(这是注入 WorkContext 的东西)
两者都是向右浮动的,但是需要颠倒顺序以使用户控件出现在菜单的右侧。
我怎么做?
我很好奇它是否与第二个参数有关WorkContext.Layout.Header.Add(New.User(), "10");
,即使我将它设置为超过 9000,它似乎也没有任何作用?顺便说一句,我将左侧参数识别为 Clay 对象的实例化。
编辑
经过一些实验后,似乎第二个参数是区域内注入形状的顺序。
编辑2
我得到了我想要将 bij 添加<li>@Display(New.User())</li>
到 MenuWidget 备用的效果。
替代方案将是:
@{
// Model is Model.Menu from the layout (Layout.Menu)
var tag = Tag(Model, "ul");
var items = (IList<dynamic>)Enumerable.Cast<dynamic>(Model.Items);
if (items.Any()) {
items[0].Classes.Add("first");
items[items.Count - 1].Classes.Add("last");
}
}
<nav id='topnav'>
<ul>
@DisplayChildren(Model.Menu)
<li>@Display(New.User())</li>
</ul>
</nav>
另请参阅:如何控制 Orchard 中菜单的呈现