c# - MVC 局部 View 呈现但不执行 Razor 代码

标签 c# ajax asp.net-mvc razor partial-views

我有一个返回局部 View 的 AJAX 调用,但它只返回 <div> View 的一部分。我的猜测是它忽略了 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 调用调用的 Controller 内的返回语句(是的,它命中):

return PartialView("MyPartial", MyModel);

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

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

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

最佳答案

莫非Model集合是空的? 尝试在 div 内但在 foreach 外添加另一个元素,例如 @Model.Count

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

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

关于c# - MVC 局部 View 呈现但不执行 Razor 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16951153/

相关文章:

c# - UWO 电子邮件消息换行/换行?

c# - 使用 C# 将两个循环转换为单个 LINQ 查询

c# - 在LINQ扩展方法中指定通用类型的原因

c# - MVC 发布请求 - 最大数量IEnumerable<T> 绑定(bind)中的对象数量?

.net - _ViewStart.cshtml 布局文件在哪里以及如何链接?

c# - 使用 View 注册演示者

javascript - 创建带空格的 ID

javascript - Php/Ajax/jQuery/Javascript 程序可以在一台主机上运行,​​而不能在另一台主机上运行。不可能的事

javascript - 如何使用下一步按钮加载内容

asp.net-mvc - MVC DropDownListFor bool 的默认值