部分视图 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>
标记。您可以通过在浏览器中检查生成的标记来验证这一点。
我正在使用 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>
标记。您可以通过在浏览器中检查生成的标记来验证这一点。