使用ASP.NET Razor MVC仅包含部分视图的一部分

Kev*_*ven 3 html asp.net-mvc partial-views razor

我正在使用ASP.NET Razor MVC并使用部分视图来处理我不希望在每个页面上更新的常见内容.

我使用以下语法来包含我的部分视图:

@Html.Partial("PartialView")  
Run Code Online (Sandbox Code Playgroud)

在特定的局部视图中,我有两个DIVS:

<div class="divA">
    CONTENT
</div>

<div class="divB">
    CONTENT
</div>
Run Code Online (Sandbox Code Playgroud)

但是,我只想包含来自的内容divA.我可以执行以下操作,仅包含来自的内容divA吗?

@Html.Partial("PartialView", @divA)  
Run Code Online (Sandbox Code Playgroud)

如果没有,我该怎么办?

Dar*_*rov 5

您可以将部分强类型设置为视图模型:

public class MyViewModel
{
    public bool ShowOnlyPartA { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后使您的视图强烈键入此模型:

@model MyViewModel

<div class="divA">
    CONTENT
</div>

@if (Model == null || !Model.ShowOnlyPartA)
{
    <div class="divB">
        CONTENT
    </div>
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样称呼你的部分:

@Html.Partial("PartialView", new MyViewModel { ShowOnlyPartA = true }) 
Run Code Online (Sandbox Code Playgroud)

或者像这样:

@Html.Partial("PartialView") 
Run Code Online (Sandbox Code Playgroud)