2015-04-23 148 views
0

我們如何確定在視圖(.cshtml文件)內部呈現視圖的模式?如何在Asp.Net MVC中確定剃鬚刀視圖中的「IsPartial」?

其實,在一個視圖,例如Delete.cshtml,我已經叫Details.cshtml爲:

@Html.Partial("Details.cshtml",model) 

Details.cshtml觀點裏面,我要確定渲染類型(全部/部分),以使一些工作的決定。

有沒有IsPartial屬性或類似的東西?

+1

我不認爲有是知道視圖的機制是你做了什麼,但爲什麼不屬性到視圖模型添加到效果 – 3dd

+0

簡單使用兩種觀點:以全畫面之一,而第二部分 – Grundy

+0

將視圖渲染爲全視圖(即,返回視圖(「MyView」);或者@ @ Html.Partial(「MyView」))並不是一種常態。你最好用完全的知識來製作一個局部視圖,它永遠不會被用作全視圖。你只是讓自己變得更難。 –

回答

0

什麼你正在努力實現是不可能直接從Html.Partial但它是可能的,如果你去到該視圖使用動作和使用Html.Action渲染。

說你想通過富爲模型,使其第一

public class Foo 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 
} 

然後創建一個動作

public ActionResult Details(Foo _foo) 
{ 
    return PartialView(_foo); 
} 

這樣稱呼它

@Html.RenderAction("FooBar", "Controller", new { Name = "John", Age=20 }); 

現在,通過這樣做,你可以確定天氣這個動作是否被另一個動作調用

if (ControllerContext.IsChildAction) 
      return PartialView(_foo); 
相關問題