剃刀-如何确定RenderFragment元素名称?

时间:2019-08-20 09:15:14

标签: c# razor .net-core blazor

我从现有的html模板创建简单的剃刀组件。 我想根据给定的孩子类型(根据参数)做出不同的条件

我有现有的 MenuItem AnotherMenuItem 组件

NavMenu.razor

<ul class="nav navbar-menu">
    <li class="nav-label">@Title</li>
    <!-- HOW TO CHECK ChildContent element type? -->
    @if(ChildContent is MenuItem){
        @ChildContent
    }else if(ChildContent is AnotherMenuItem){
        <div class="nav other-menu">
            @ChildContent
        </div>
    }else{
    }
</ul>
@code{
    [Parameter]
    string Title {set; get;}
    [Parameter]
    RenderFragment ChildContent {set;get;}
}

Home.razor

<body>
    <NavMenu Title="Reports">
        <MenuItem Title="Daily"/>
        <MenuItem Title="Weekly"/>
        <MenuItem Title="Monthly"/>
    </NavMenu>

    <NavMenu Title="Transaction">
        <AnotherMenuItem Title="Hotels"/>
        <AnotherMenuItem Title="Flights"/>
        <AnotherMenuItem Title="Trains"/>
    </NavMenu>

    <NavMenu Title="Hello">
        <div id="test"/>
    </NavMenu>
</body>

,但是ChildContent不引用MenuItem或AnotherMenuItem。 请帮忙,thnx

0 个答案:

没有答案