簡體   English   中英

是否可以將部分視圖中的特定內容渲染到主視圖中?

[英]Is it possible to render specific content from Partial View into main view?

我有一個局部視圖,可以說_ABCPartialView ,在局部視圖中,我有兩個<div>標記,如下所示:

<div>
//some dynamic stuff
</div>

<div>
<img src="blah blah"/>
</div>

是否可以僅將包含<img>標簽的第二個<div>渲染到我的主視圖中? 該方法@html.Partial("_ABCPartialView")呈現部分視圖的所有元素。 你的意見?

您可以使用ViewData為PartialView提供參數。 樣品:

@Html.Partial("_ABCPartialView", null, new ViewDataDictionary { { "ShowSecondDiv", true } })

在PartialView中,您只需使用:

<div>

<div>

@if ((bool)ViewData["ShowSecondDiv"])
{
    <div>

    </div>
}

您可以將模型傳遞到局部模型中,該模型將具有是否執行此操作的屬性。 例如:

這是模型:

public class YourModel 
{
    public bool ShowDiv { get; set; }
}

這是父視圖中的代碼,它將信息傳遞到局部視圖:

@Html.Partial("_ABCPartialView", new YourModel { ShowDiv = false });

在局部視圖中,檢查該屬性並執行所需的操作。

@if ((bool)Model.ShowDiv)
{
    <div>
         //some dynamic stuff
    </div>
}

局部視圖可以像常規視圖一樣具有模型。 此外,使用模型,您可以獲得編譯器的幫助和智能,因此您不必擔心拼寫錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM