我有一个AJAX调用返回一个局部视图,但它只返回视图的<div>
部分。我的猜测是它忽略了Razor代码。这似乎是一个非常愚蠢的问题,我无法想象出我的生活。MVC部分视图呈现但不执行剃须刀代码
这里是我的局部视图,其整体:
<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>
这是控制器内return语句由AJAX调用被调用(YES,它击中):
return PartialView("MyPartial", MyModel);
我已经在上面尝试添加@model IEnumerable<MyType>
,但这没有什么区别。
在我的完整视图中,我打电话@Html.Partial("MyPartial", Model)
和仍然,只有外部<div>
标记显示在我的网页源代码中。
这是一个相当令人沮丧的问题,所以任何帮助将不胜感激。
你确定让你'C#'更改后建?你有没有尝试在那里设置断点,以确保'Model'不为null? '@ Html.Partial(“MyPartial”,Model)'会将当前模型传递给partial,而不会触及控制器,那时在'Model'中有什么?你的部分是否有'@ model'声明?在子代和父代匹配中执行'@ model'声明?对不起,所有的问题,但这些都是我觉得可能会影响你的'foreach'循环不迭代的一些领域。我保证任何有效的剃须刀代码都在执行。 –
你是否也可以显示ajax调用的代码,以及如何通过helper完成ajax选项的定义? –
我很遗憾,你的询问没有多大帮助,但我解决了这个问题。看到我的[评论](http://stackoverflow.com/questions/16951153/mvc-partial-view-renders-but-does-not-execute-razor-code#comment24478527_16951176)。 +1的努力和良好的故障排除做法。 – Kehlan