如何在小部件之前呈现特殊形状
本文关键字:小部 | 更新日期: 2023-09-27 18:01:04
我的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对象的实例化。顺便说一句,
编辑
经过一些实验,第二个参数似乎是区域内注入形状的顺序。
EDIT2
我得到的效果是,我希望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 中菜单的呈现
最简单的方法可能是引入一个新区域。