MVC分部视图呈现但不执行Razor代码
本文关键字:执行 Razor 代码 视图 MVC | 更新日期: 2023-09-27 18:17:19
我有一个AJAX调用返回部分视图,但它只返回视图的<div>
部分。我猜它忽略了剃刀的代码。这似乎是一个非常愚蠢的问题,我怎么也弄不清楚。
以下是我的部分观点:
<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 PartialView("MyPartial", MyModel);
我试过在顶部添加@model IEnumerable<MyType>
,但没有任何区别。
在我的完整视图中,我调用@Html.Partial("MyPartial", Model)
和STILL,只有外部<div>
标签显示在我的页面源中。
这是一个相当令人沮丧的问题,所以任何帮助将非常感谢。
可能是模型集合是空的吗?尝试在div中添加另一个元素,如@Model.Count
,但在foreach之外。
或者,在控制器中放置一个断点以确保集合至少包含一个元素。
这将测试foreach由于空集合而未执行的假设