【问题标题】:ASP.NET MVC 3 Ajax.BeginForm redirecting to new windowASP.NET MVC 3 Ajax.BeginForm 重定向到新窗口
【发布时间】:2013-05-29 19:43:31
【问题描述】:

我正在尝试使用 Ajax.BeginForm。当我提交时,我想渲染一个局部视图。一切正常,但 InsertionMode = InsertionMode.Replace 不起作用,它会在新窗口中打开部分视图。

我在同一页面中也有一个 Ajax.ActionLink,它工作正常。

我已经添加了 jquery.unobtrusive-ajax.js,但它仍然不起作用。另外,在 web.config 我有

<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

这是我的代码:

<div id="div_to_replace">
@using (Ajax.BeginForm("Edit", "MyController", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "div_to_replace" })){
    <div class="editor-field">
        @Html.EditorFor(model => model.name)
        @Html.ValidationMessageFor(model => model.name)
    </div>
    <input type="submit" value="Save" />
}
</div>

还有我的控制器:

[HttpPost]
    public ActionResult Edit(MyObject object)
    {
        try
        {
            if (ModelState.IsValid)
            {
                updateModel(object)
                return PartialView("_MyPartilView", model);
            }
            else
            {
                return PartialView(object);
            }
        }
        catch
        {
            return PartialView(object);
        }
    }

谢谢!

【问题讨论】:

  • 页面上是否有以“div_to_replace”为ID的元素?它不在您提供的代码中。当我过去使用它时,我不需要 InsertionMode.Replace。
  • 我有以 div_to_replace 作为 id 的元素...我将使用此更改编辑我的帖子。
  • 浏览器控制台是否显示错误?
  • 浏览器控制台没有错误

标签: asp.net-mvc-3 ajax.beginform


【解决方案1】:

确保您已包含 jQuery。

确保您有一个 ID 为 div_to_replace 的 div。

确保UnobtrusiveJavaScriptEnabledViews 文件夹中的web.config 上处于活动状态

<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

【讨论】:

  • 感谢您的回复,我已包含 jquery 并且 Unobtrusive JavaScript Enabled = true。
  • 在同一个页面中我有一个 Ajax.ActionLink 并且它正在工作,但是 Ajax.BeginForm 没有运气
  • 这是我想向用户显示的部分。然后他单击编辑按钮并将 div 替换为版本布局。然后我想保存信息,隐藏版本布局并再次显示信息。这就是为什么一切都在我想在 ajax 调用之后替换的 div 内。
【解决方案2】:

我发现了问题。我使用的是最新的 jquery 版本(1.9.1),它不适用于原始 jquery.unobtrusive-ajax.js 文件。

我改成了jquery 1.4.4版(创建asp.net mvc 3项目时默认自带的那个),问题就解决了。

【讨论】:

    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2011-06-24
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多