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

partial view ajax.beginform onsuccess function error not defined

我正在使用 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 -->
}

我缺少从局部视图调用函数的内容。?

谢谢

片段在部分片段中不起作用。不要在部分中使用部分。确保将以下部分放在 主视图 中,而不是局部视图中:

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

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