[HttpPost返回视图后的System.StackOverflowException-ASP MVC

问题描述 投票:1回答:1

我得到的错误是这个(没有更多信息):System.StackOverflowException

我项目中的所有内容都可以正常工作,但是一旦我发布数据,此后,它应该返回视图,我会得到该错误

并且在我删除[]后立即在我的布局中>

可以正常工作

@Html.Action("TuorMenu", "Home", new { area = "Site" })

简化布局

@{
Layout = null;
}
<!DOCTYPE html>
html dir="rtl" lang="fa">
<head>
</head>
<body>
    @Html.Action("TuorMenu", "Home", new { area = "Site" })
    @RenderBody()
</body>
</html>

和这样创建的部分

    [HttpGet]
    [OutputCache(Duration = 86400, VaryByParam = "none")]
    [ChildActionOnly]
    public ActionResult TuorMenu()
    {
        MenuViewModel vmg = new MenuViewModel();

        vmg.TourGroup = _repoTourGroup.Where(p => p.Id != 15).ToList();
        //vmg.BlogGroup = _repoBlogGroup.Select();
        return PartialView("_TuorMenu", vmg);
    }

...

@model test.ViewModels.Home.MenuViewModel

@{
    Layout = null;
}

 .......loading menu

我不知道加载局部视图有什么问题或它在HttpPost之后返​​回视图的问题只是它在其他页面中的分叉,但是当我尝试使用表单HTTP post action访问视图时出现该错误

以及关于HttpPost,让我们假设存在一个视图“ A”,该视图的表单为HttpPost,然后触发,我们应该获取创建的视图,但它只返回上述错误

我得到的错误是这个(没有更多信息):System.StackOverflowException我项目中的所有内容都正常运行,但是一旦我发布数据,此后它应该返回视图,我就明白了...

c# asp.net-mvc razor razorengine
1个回答
1
投票

只需在LayoutView中获取您的信息如果您使用DI首先注入您的仓库

 var _repoMenu = DependencyResolver.Current.GetService<IMenuRepository>();
 var MenuModel = _repoMenu.Select();
© www.soinside.com 2019 - 2024. All rights reserved.