2011-07-28 140 views
1

我在我的布局中有一个@Html.Action(),并且在控制器动作后面放置一个断点,表明它被调用了两次(其中一个似乎是整体控制器操作的一部分,返回我的主要View,第二个似乎拨打电话@Renderbody())。动作被调用两次

这会导致我的部分视图从操作中返回(取决于用户角色)两次,一次在布局中的正确位置(其中@Html.Action()调用和一次在页面的其余部分中,只是其中,未来@Html.Action()呼叫的主要页面内的布局被显示之前。

我认为它是与@Renderbody()显示从控制器返回的所有部分意见,但我不知道。

任何指针上如果是这样,如果是这样,我怎么能显示我的菜单,而不用动作?

+0

嗨,我使用@Html 。对布局的行为(例如语言,授权用户设置),从不打电话两次..我想知道如何,请你粘贴一段代码。 –

回答

5

我有一个类似的情况,我打电话ActionResult使用@Html.Action为了呈现局部视图(处理一些数据后),但它不断重复布局两次。为了解决这个问题,我必须将ActionResult更改为PartialViewResult,尽管两者都返回了部分视图,但前者似乎将其视为无论如何都返回视图...

+0

是的,这是整理它。 – cjk