3

我有一个 AJAX 调用返回部分视图,但它只返回<div>视图的一部分。我的猜测是它忽略了 Razor 代码。这似乎是一个非常愚蠢的问题,我一生都无法弄清楚。

这是我的部分观点,完整的:

<div id="result">
@foreach (var log in Model)
{
    <br />
    <h3><b>Log ID: </b>@log.ID</h3>
    <h3><b>Log Time: </b>@log.LogTime</h3>
    <h3><b>Event Type: </b>@log.EventType</h3>
    <h3><b>Message: </b>@log.Message</h3>
    <h3><a href="Log/Details/@log.ID">View Details/Delete Entry</a></h3>
}
</div>

AJAX 调用返回的所有内容是:

<div id="result">
</div>

这是 AJAX 调用调用的控制器内部的 return 语句(是的,它命中):

return PartialView("MyPartial", MyModel);

我试过@model IEnumerable<MyType>在顶部添加,但这没有任何区别。

在我的完整视图中,我正在调用@Html.Partial("MyPartial", Model)并且仍然,只有外部<div>标签显示在我的页面源中。

这是一个非常令人沮丧的问题,因此将不胜感激任何帮助。

4

1 回答 1

1

难道模型集合是空的?尝试添加另一个元素,例如@Model.Count在 div 内部,但在 foreach 外部。

或者,在控制器中放置一个断点以确保集合至少包含一个元素。

这将测试由于空集合而导致 foreach 未执行的假设

于 2013-06-05T22:52:38.790 回答