簡體   English   中英

HttpPost 返回視圖后的 System.StackOverflowException - asp mvc

[英]System.StackOverflowException after HttpPost returning view - asp mvc

我得到的錯誤是這個(沒有更多信息):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 操作訪問視圖時出現該錯誤

關於 HttpPost,假設有一個視圖“A”,它的表單是 HttpPost,然后觸發,我們應該得到創建的視圖,但它只返回上述錯誤

如果您首先使用 DI 注入您的 repo,只需在 LayoutView 中獲取您的信息

 var _repoMenu = DependencyResolver.Current.GetService<IMenuRepository>();
 var MenuModel = _repoMenu.Select();

然后代替

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

使用部分

@Html.Partial("~/Areas/.../_TourMenu.cshtml",MenuModel)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM