asp.net-mvc - MVC Ajax.BeginForm 插入模式

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

网络配置:

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

JavaScript 引用文件:

<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js") type="text/javascript"></script>

CSHTML 页面:

@using (Ajax.BeginForm(new AjaxOptions { UpdateTargetId = "result", LoadingElementId = "progress", InsertionMode = InsertionMode.Replace }))
{
    <div class="form">
        <div class="emailBox">
            <input id="email" name="email">
            <input type="submit" value="Join Us">
        </div>

        <div id="result">
        </div>
        <div id="progress" style="display:none;">
            <img src= "@Url.Content("~/Content/images/Ajax-loader-bar.gif") ">
        </div>
    </div>
}

Controller .cs:

    [HttpPost]
    public string Index(SignUpModel model)
    {
        return "Hello";
    }

为什么当我单击“提交”按钮时,整个页面被替换为显示“你好”的白色页面。我的印象是 Ajax.BeginForm 将替换 DIV RESULT 的内容。

我做错了什么?

此外,LoadingElementID
当 AJAX 调用返回其值时,它会自动隐藏吗?

==========================
回答
Firebug 显示未找到引用的 JS 文件之一。
在我解决这个问题后..一切都按预期工作。

谢谢大家

最佳答案

确保您在使用 Ajax.BeginForm 的页面上添加了 jqueryJquery.unobtrusive-ajax 脚本文件。此外,检查 firebug(或任何调试器工具)是否存在可能导致 ajax 失败并触发整个页面的完整回发的 JavaScript 错误。是的,当 ajax post 的结果返回时,loading 元素应该自动隐藏。
另请确保您的 web.config 包含以下设置

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

关于asp.net-mvc - MVC Ajax.BeginForm 插入模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10876653/

相关文章:

c# - C# MVC 5 中带有 IList View 模型的单选按钮列表

c# - Elmah 不记录异常

jquery - 流畅的验证。错误: Validation type names in unobtrusive client validation rules must be unique

ASP.NET 模拟问题(第 2 部分)

asp.net - 如何调试 ASP.NET 编译错误?

c# - mvc 设计模式的哪一部分代表了业务逻辑?

asp.net-mvc-3 - 在 ASP.NET MVC 3 中使用不显眼的验证,当表单无效时如何采取行动?

ASP.NET AJAX 框架与 jQuery

jquery - AJAX .post 异步

javascript - 使用 Ajax 或 Silverlight 调用 Web 服务?哪个表现最好?