部分视图:mscorlib.dll 中发生类型 'System.StackOverflowException' 的未处理异常
Partial View: An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
我知道已经有很多关于此的帖子,但我似乎无法修复错误。
我在局部视图中收到上述错误(标题),我认为这意味着我有一个无限循环,但我不确定为什么会这样。请看下面:
家庭控制器
public ActionResult UserTable()
{
manager = new Manager();
var data = manager.GetAllUsers();
var userDetails = from u in data
select new UserDetail
{
UserID = u.Id,
Username = u.Name,
UserLogin = u.Login,
FirstName = u.FirstName,
Surname = u.Surname,
Email = u.Email,
Active = Convert.ToInt32(u.Active),
RightID = u.RightsId,
GroupID = u.GroupsId,
};
return View(userDetails.ToList());
}
用户表(局部视图)
@model IEnumerable<WebApplication1.Models.UserDetail>
@Html.Action("UserTable")
<br />
<div>
<table class="table">
<thead>
<tr>
//Table Headers
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
//Various @Html.DisplayFor()
</tr>
}
</tbody>
</table>
</div>
索引(查看)
@{Html.RenderPartial("UserTable");}
如果你想让我澄清任何事情或者你想要任何进一步的细节,请随时询问。
提前谢谢你。
P.S错误发生在 UserTable 方法中。
因此,在评论中 Stephen 和 Alexander 的提示的帮助下,我找到了解决问题的方法。对我来说,如果我使用 Render Partial,它不会为每个局部视图执行方法,因此返回 null,这就是我尝试 Html.Action 的原因,但这会导致无限循环,但是如果我使用 Render Action,则解决方案将执行方法,希望这对遇到同样问题的人有所帮助。
我知道已经有很多关于此的帖子,但我似乎无法修复错误。
我在局部视图中收到上述错误(标题),我认为这意味着我有一个无限循环,但我不确定为什么会这样。请看下面:
家庭控制器
public ActionResult UserTable()
{
manager = new Manager();
var data = manager.GetAllUsers();
var userDetails = from u in data
select new UserDetail
{
UserID = u.Id,
Username = u.Name,
UserLogin = u.Login,
FirstName = u.FirstName,
Surname = u.Surname,
Email = u.Email,
Active = Convert.ToInt32(u.Active),
RightID = u.RightsId,
GroupID = u.GroupsId,
};
return View(userDetails.ToList());
}
用户表(局部视图)
@model IEnumerable<WebApplication1.Models.UserDetail>
@Html.Action("UserTable")
<br />
<div>
<table class="table">
<thead>
<tr>
//Table Headers
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
//Various @Html.DisplayFor()
</tr>
}
</tbody>
</table>
</div>
索引(查看)
@{Html.RenderPartial("UserTable");}
如果你想让我澄清任何事情或者你想要任何进一步的细节,请随时询问。 提前谢谢你。
P.S错误发生在 UserTable 方法中。
因此,在评论中 Stephen 和 Alexander 的提示的帮助下,我找到了解决问题的方法。对我来说,如果我使用 Render Partial,它不会为每个局部视图执行方法,因此返回 null,这就是我尝试 Html.Action 的原因,但这会导致无限循环,但是如果我使用 Render Action,则解决方案将执行方法,希望这对遇到同样问题的人有所帮助。