【发布时间】:2018-04-14 00:01:22
【问题描述】:
当我尝试在 Edge 浏览器上运行我的 ASP.NET MVC webapp 时,我目前遇到了一个问题。
Chrome、Firefox、IE 或 Opera 等其他浏览器工作正常,但 Edge 无法加载某些页面,并在没有任何进一步信息的情况下显示以下错误:
加载此页面时出错
我们已多次尝试加载此页面,但此站点的问题仍然存在,还有更重要的任务等着您。所以,与其永远继续下去,不如稍后再试。
当我尝试运行使用@foreach 或@for razor 合成器构建表的页面时发生错误,如下面的代码:
<tbody>
@foreach (var maintenanceOperation in Model.MaintenanceOperationViewModels)
{
<tr>
<td>@Html.DisplayFor(model => maintenanceOperation.CarMOViewModel.Matriculation)</td>
<td>@Html.DisplayFor(model => maintenanceOperation.CarMOViewModel.CarModel.CarBrand.Name)</td>
<td>@Html.DisplayFor(model => maintenanceOperation.CarMOViewModel.CarModel.Name)</td>
<td>@Html.DisplayFor(model => maintenanceOperation.CarMOViewModel.Mileage)</td>
<td>@maintenanceOperation.Date.ToString("d")</td>
@{
var type = EnumHelper<MOType>.GetDisplayValue(maintenanceOperation.Type);
var status = EnumHelper<MOStatus>.GetDisplayValue(maintenanceOperation.Status);
}
<td>@type</td>
<td>@status</td>
<td>
<a class="btn btn-primary" href="@Url.Action("MaintenanceOperationDetails", "Fleet", new { id = maintenanceOperation.Id })">@Resources.Global_Display</a>
<a class="btn btn-success" href="@Url.Action("EditMaintenanceOperation", "Fleet", new { id = maintenanceOperation.Id })">@Resources.Global_Edit</a>
</td>
</tr>
}
</tbody>
我尝试删除 @foreach 循环,现在我可以访问此页面(当然是空的 tbody)
你们中有人知道这个问题吗?我做错了吗?
我的设置:
- .Net Framework v4.6.1
- Razor v3.2.3
- ASP.NET MVC v5.2.3
- Edge v41.16299.15.0
- EdgeHTML v16.16299
【问题讨论】:
-
表格有多少行?你有没有试过做一个 .Take(10) 什么的。可能只是您给 Edge 提供的功能超出了它的处理能力。
-
@John 在这个例子中我应该有 5 行
-
"where a table is build using @foreach or @for razor syntax "...所有处理(使用 Razor)都发生在服务器上。浏览器只是接收一些静态 HTML 作为该处理的输出。很难看出浏览器的选择会如何受到影响(反之亦然)。真正的问题可能在其他地方。 -
@ADyson,谢谢你的回答。正如我在帖子中所说,在 Chrome、Firefox、IE、Opera 和 Safari 等其他浏览器上一切正常,所以我推断 Edge 是这里的问题,但我可能错了!是否有任何提示可以在 Edge 浏览器上进行调试并找出问题出在哪里?这可能是 Edge 的渲染引擎不喜欢的东西,但我不知道如何找到它。我会继续调查!
标签: c# asp.net-mvc razor foreach microsoft-edge