Ajax.BeginForm 在 Chrome/FF 中正确显示部分视图,但在 IE 中的新页面上

Posted

技术标签:

【中文标题】Ajax.BeginForm 在 Chrome/FF 中正确显示部分视图,但在 IE 中的新页面上【英文标题】:Ajax.BeginForm displaying partial view correctly in Chrome/FF but on new page in IE 【发布时间】:2015-11-09 13:29:54 【问题描述】:

我之前回答过一个类似的问题,通过下载 Ajax unobtrusive 解决了这个问题,但是在我现在将我的网站发布到 IIS 之后,类似的事情现在再次发生。请参阅下面的 Ajax 表单代码:

@using (Ajax.BeginForm("SearchResults","Export", new AjaxOptions  UpdateTargetId = "result", HttpMethod="POST"))

以及控制器代码:

[HttpPost]
public ActionResult SearchResults(string searchString, string docType)

                return PartialView(db.ExportKofaxes.Where(x => x.DocumentNumber) 

在 IE 中,返回的部分视图将在新页面中打开,但在 Chrome 和 FF 中,它会按预期显示在当前视图中。这是 MVC 项目的一部分,我复制了整个项目,包括 bin 文件夹和脚本,唯一让我认为这不是缺少任何 dll 或脚本的问题的事实是它适用于 Chrome 和 FF 但我我在我的 bin 文件夹中看不到 Ajax dll。当我跨项目复制到 IIS 时,是否还需要跨 nuget 包文件夹进行复制?

任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

好吧,我非常愚蠢,我花了将近半天的时间研究为什么它在 IE 中无法运行并错过了一些愚蠢的东西,所有本地站点都设置为以兼容模式运行,我必须勾选在某些时候测试其他东西。这导致部分视图在新页面中打开。

【讨论】:

以上是关于Ajax.BeginForm 在 Chrome/FF 中正确显示部分视图,但在 IE 中的新页面上的主要内容,如果未能解决你的问题,请参考以下文章

在 Ajax.BeginForm 中传递 UpdateTargetId 不替换目标

MVC Ajax.BeginForm 替换奇怪的行为

Ajax.BeginForm 验证模型

提交我的 Ajax.BeginForm 的其他 jQuery 事件

Ajax.BeginForm,调用操作,返回 JSON,如何在 OnSuccess JS 函数中访问 JSON 对象?

ajax.beginform - OnFailure 不返回部分视图