gpt4 book ai didi

asp.net-mvc - 为什么在 Razor 中使用 Html.RenderAction 时会出现 StackOverflowException?

转载 作者:行者123 更新时间:2023-12-03 08:04:48 25 4
gpt4 key购买 nike

我正在将 WebForms 应用程序转换为 Razor 并且一切正常,除非我尝试使用 Html.RenderAction .每当我调用它时,我都会收到 StackOverflowException .有没有人知道可能导致这种情况的原因?

我的操作模板如下所示:

@model dynamic   

should be rendering this

在我的 _Layout.cshtml 文件中,我呈现这样的 Action :
@{Html.RenderAction("MyPartialAction");}

我的 _ViewStart.cshtml文件如下所示:
@{
this.Layout = "~/Views/Shared/_Layout.cshtml";
}

最佳答案

问题是您的操作模板没有定义要使用的布局。因此,它会自动获取 _ViewStart.cshtml 文件中指定的那个。这实际上会导致 _Layout.cshtml 文件无限嵌套在其自身中。因此 StackOverflowException .解决方法很简单。将 Action 模板中的布局设置为 null :

@model dynamic
@{
Layout = null;
}
should be rendering this

现在模板不会要求嵌入到布局文件中,一切正常。

关于asp.net-mvc - 为什么在 Razor 中使用 Html.RenderAction 时会出现 StackOverflowException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14603534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com