2011-03-22 96 views
1

我有一個簡單的PartialView設置在我的MVC3項目使用Razor視圖引擎。 Partial將呈現,但如果我在Action控制器上爲Partial設置了斷點,它將永遠不會被擊中。如果我將URL更改爲直接轉到PartialView,即http://localhost:13965/Home/GridControl,那麼會觸發斷點。我錯過了什麼?Html.Partial在剃刀視圖引擎

我的觀點:

@model MyModel 

@Html.Partial("GridControl", Model) 

我的控制器:

public ActionResult GridControl() 
{ 
    return PartialView(); 
} 

回答

6

Html.Partial不調用控制器動作。這是一個簡單的包含在你稱之爲局部視圖的地方。

如果你要撥打的控制器動作,您需要使用Html.Action or Html.RenderAction helper這樣的:

@Html.Action("GridControl") 

或:

@{Html.RenderAction("GridControl");} 

很顯然,在這種情況下,你不傳遞任何型號爲您控制器動作並不期望任何模型作爲參數,它有責任獲取模型並將其傳遞給部分視圖,該部分視圖將被渲染幷包含在您稱爲此幫助器的位置。