Razor - How to determine RenderFragment Element name?

╄→尐↘猪︶ㄣ 提交于 2019-12-11 19:11:00

问题


I was creating simple razor component from existing html template. i want to make different conditions based on type of child given (from parameter)

i have existing MenuItem and AnotherMenuItem component

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>

but the ChildContent not reference to MenuItem or AnotherMenuItem. please help, thnx

来源:https://stackoverflow.com/questions/57570372/razor-how-to-determine-renderfragment-element-name

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!