部分视图ajax.beginform onsuccess函数错误未定义

时间:2017-01-18 16:29:11

标签: javascript ajax asp.net-mvc partial-views

我正在使用MVC5。我有一个调用部分视图的视图。

在部分视图上,我有Ajax.BeginForm OnSuccess调用函数。

执行时间错误,说明功能未找到。

如果在父视图中定义了功能,则会对其进行查找和触发。

这是我的部分视图

@model TableAvivaVoz.Models.UserPasswordView
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
@{
    ViewBag.Title = "Actualizar";
    AjaxOptions ajaxOpts = new AjaxOptions
    {
        InsertionMode = InsertionMode.Replace,
        HttpMethod = "POST",
        OnSuccess = "exito",
//        OnFailure ="failure",
    };
}
@section Scripts {
    <script type="text/javascript">
        function exito(result) {
                alert(1);
        }
    </script>
}
@using (Ajax.BeginForm("ChangePassword", "Users", ajaxOpts, new { id = "FormID" }))
{
    @Html.AntiForgeryToken()
"modal-header">
                <h4 class="modal-title" id="myModalLabel">
                    Cambio de Contraseña
                </h4>
            </div>
            <div class="alert alert-success hidden">
                Success! Password Changed.
            </div>
            @Html.HiddenFor(model => model.User_id)
            @Html.ValidationSummary(true, "", new { @class = "text-danger" })
            <div class="modal-body">

                <div class="col-md-10">
                    @Html.PasswordFor(model => model.OldPassword, new { @class = "form-control", placeholder = "Vieja Contraseña" })
                    @Html.ValidationMessageFor(model => model.OldPassword, "", new { @class = "text-danger" })
                </div>
            </div>
            <div class="modal-body">

                <div class="col-md-10">
                    @Html.PasswordFor(model => model.Password, new { @class = "form-control", placeholder = "Nueva Contraseña" })
                    @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
                </div>
            </div>
            <div class="modal-body">

                <div class="col-md-10">
                    @Html.PasswordFor(model => model.ConfirmPassword, new { @class = "form-control", placeholder = "Repetir Nueva Contraseña" })
                    @Html.ValidationMessageFor(model => model.ConfirmPassword, "", new { @class = "text-danger" })
                </div>
            </div>
            <div class="modal-footer visible">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="submit" class="btn btn-primary" id="btnSave">Save</button>
            </div>
            <div class="modal-footer hidden">
                <button type="button" class="btn btn-default" data-dismiss="modal">Salir</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal -->
}

从Partial View调用该函数我缺少什么。?

由于

1 个答案:

答案 0 :(得分:1)

章节不适合部分工作。不要在部分中使用部分。请确保将以下部分放在主视图中,而不是放在部分:

@section Scripts {
    <script type="text/javascript">
        function exito(result) {
                alert(1);
        }
    </script>
}

这将保证呈现定义<script>函数的相应exito标记。您可以通过检查浏览器中生成的标记来验证这一点。