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



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

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

我在执行时间上有一个错误,说找不到该函数。

如果在父视图中定义了该功能,则会找到并触发该功能。

这是我的部分视图

@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>标记。您可以通过检查浏览器中生成的标记来验证这一点。

最新更新