2011-07-28 178 views
1

我在我的佈局中有一個@Html.Action(),並且在控制器動作後面放置一個斷點,表明它被調用了兩次(其中一個似乎是整體控制器操作的一部分,返回我的主要View,第二個似乎撥打電話@Renderbody())。動作被調用兩次

這會導致我的部分視圖從操作中返回(取決於用戶角色)兩次,一次在佈局中的正確位置(其中@Html.Action()調用和一次在頁面的其餘部分中,只是其中,未來@Html.Action()呼叫的主要頁面內的佈局被顯示之前。

我認爲它是與@Renderbody()顯示從控制器返回的所有部分意見,但我不知道。

任何指針上如果是這樣,如果是這樣,我怎麼能顯示我的菜單,而不用動作?

+0

嗨,我使用@Html 。對佈局的行爲(例如語言,授權用戶設置),從不打電話兩次..我想知道如何,請你粘貼一段代碼。 –

回答

5

我有一個類似的情況,我打電話ActionResult使用@Html.Action爲了呈現局部視圖(處理一些數據後),但它不斷重複佈局兩次。爲了解決這個問題,我必須將ActionResult更改爲PartialViewResult,儘管兩者都返回了部分視圖,但前者似乎將其視爲無論如何都返回視圖...

+0

是的,這是整理它。 – cjk