在_Layout使用Html.RenderAction的问题-MVC3(Razor)问题

当你在layout里使用Html.RenderAction加载局布页面的时候,直接进入死循环。

 @{
                    Html.RenderAction("Index", "Status");
                }

 

 

主要问题,在Index的View, 我在Index Action 返回的是VIEW,RenderAction是在_Layout.cshtml中运行,每一个View都会调用_layout.cshtml,调用时候Action又调用View, View又调用_layout.cshtml,所以就进入了死循环。

两种解决方案:

1、Index Action不返回View,而是PartialView

public PartialViewResult Index()
        {
          //dosomething
           return PartialView();   
        }

2、在Index 的View中加上 @{ layout=null;}

这两种方法都有效。

 

posted @ 2012-04-20 16:12  Xia.CJ  阅读(2315)  评论(4编辑  收藏  举报