ajax.beginform-OnFailure不返回部分视图

问题描述 投票:1回答:1

你好

我正在使用ajax.beginform,我想返回带有内部错误。当我将状态代码更改为无法触发时OnFailure方法不会返回部分视图。调用的视图:

<fieldset>
@using (Ajax.BeginForm("SaveSocioDetails", "Student", new AjaxOptions { HttpMethod = "POST", OnSuccess = "firstsuccess",OnFailure = "sociodetailsfail", UpdateTargetId="partialsocio" ,LoadingElementId = "div_loading" }, new { @enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()
<div id="partialsocio">
    @Html.Action("PartialSocioDetails", "Student", new { SpId = ViewBag.SpId })
</div>
        <div id="div_loading" style="display:none;">
        <img src="@Url.Content("~/Content/Pic/Spinner.gif")" alt="" />
    </div>
    <button class="btn btn-primary" type="submit" value="Submit">שלח</button>
}
<input type="button" name="next" class="next action-button" value="Next" />

我的控制器:

 [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult SaveSocioDetails(SpSocio socio) // ajax for 1 step in socio
        {
            socio.StudentId = sStudentId; // bind student id to socio model
            bool sociook = SocioDetValid(socio);
            // add validation
            if (ModelState.IsValid && sociook)
            {
                SaveSocioModel(socio);
                Response.StatusCode = 200;
            }
            else
               Response.StatusCode = 300; // return error to client the model is not valid
            return PartialView("~/Views/Student/Socio/SocioDetails.cshtml", socio); // return the partial view of the forn with validation messages
        }

js:

<script>
   $(document).ready(function ()
    {
    });

    function firstsuccess(data) {
        console.log(data);
        $('#partialsocio').html(data);
        console.log('this is ajaxSuccess');
    }

    function sociodetailsfail(bdata) {
         console.log('this is ajaxfail');
        console.log(data);
        $('#partialsocio').html(data);
    }
</script>

请帮助我解决这个问题>>

你好,我正在使用ajax.beginform,我想返回内部有错误的局部视图。当我将状态代码更改为无法触发OnFailure方法的情况时,它不是...

c# asp.net-mvc model-view-controller asp.net-ajax ajax.beginform
1个回答
0
投票

如果您的请求失败,那么您将从服务器回调,包括Java脚本sociodetailsfail中的问题定义,您可以在其中放置逻辑以向用户显示从服务器bdata

© www.soinside.com 2019 - 2024. All rights reserved.