我有一个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 PartialView("MyPartial", MyModel);
我已经尝试在顶部添加@model IEnumerable<MyType>
,但没有任何变化。
在我的完整视图中,我调用@Html.Partial("MyPartial", Model)
,但仍然只有外部的<div>
标签显示在页面源代码中。
这是一个非常令人沮丧的问题,所以任何帮助将不胜感激。
c#
代码后是否确保进行了构建?你尝试过在那里设置断点以确保Model
不为空吗?@Html.Partial("MyPartial", Model)
将使用当前的Model
并将其传递到局部视图,而不会触发控制器,此时Model
中有什么内容?你的局部视图中是否有@model
声明?父子视图中的@model
声明是否匹配?抱歉提出这么多问题,但我认为这些是影响你的foreach
循环无法迭代的一些方面。我保证任何有效的 Razor 代码都能执行。 - Travis J