如何在小部件之前呈现特殊形状

本文关键字:小部 | 更新日期: 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 中菜单的呈现

如何在小部件之前呈现特殊形状

最简单的方法可能是引入一个新区域。