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

时间:2013-10-15 16:14:08

标签: html asp.net-mvc razor partial-views

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

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

@Html.Partial("PartialView")  

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

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

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

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

@Html.Partial("PartialView", @divA)  

如果没有,我该怎么办?

2 个答案:

答案 0 :(得分:5)

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

public class MyViewModel
{
    public bool ShowOnlyPartA { get; set; }
}

然后将您的视图强烈输入此模型:

@model MyViewModel

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

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

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

@Html.Partial("PartialView", new MyViewModel { ShowOnlyPartA = true }) 

或者像这样:

@Html.Partial("PartialView") 

答案 1 :(得分:1)

优秀的问题以及达林的答案。作为替代方案,改为传递一个字符串:

<!-- View -->
@Html.Partial("PartialView", "divA") 

<!-- PartialView -->
@if (Model == "divA")
{
  <div class="divA">
  </div>
}

@if (Model == "divB")
{
  <div class="divB">
  </div>
}