我有一个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语句(YES,它命中):
return PartialView("MyPartial", MyModel);
我尝试在顶部添加@model IEnumerable<MyType>
,但这没有任何区别。
在我的完整视图中,我正在调用@Html.Partial("MyPartial", Model)
并且仍然只有外部<div>
标记显示在我的网页源代码中。
这是一个非常令人沮丧的问题,所以任何帮助都将不胜感激。
答案 0 :(得分:1)
可能是Model集合是空的吗?
尝试在div中添加另一个元素@Model.Count
,但在foreach之外。
或者,在控制器中放置一个断点,以确保集合包含至少一个元素。
这将测试由于空集合而导致foreach未执行的假设