2017-01-18 9 views
0

私はMVC5で作業しています。私はパーシャルビューを呼び出すビューを持っています。パーシャルビューajax.beginform onsuccess関数のエラーが定義されていません

部分ビューでは、があり、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 --> 
 
}

ですか。?

ありがとうございました

答えて

1

セクションは部分的には機能しません。部分的にセクションを使用しないでください。あなたがいない部分で、あなたのメインビューの内側には、次のセクションを配置することを確認してください:

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

これはあなたのexito関数を定義し、対応する<script>タグがレンダリングされることを保証します。これは、ブラウザで生成されたマークアップを調べることで確認できます。

+0

OK、エラーが発生しました。私のParentViewでOnSucessメソッドを定義することはできませんか? – Diego

関連する問題