Ajax.BeginForm重定向动作页(MVC 4)



我在应用程序中使用"Ajax.BeginForm",但由于某种原因,我的表单重定向到具有正确json数据的{controller}/{action},而不是启动{OnComplete="Add_OnComplete"}:

视图:

 <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script>
    @using (Ajax.BeginForm("Create", new AjaxOptions { OnComplete = "Add_OnComplete"}))
    {
     <fieldset>
        <legend>Add</legend>
        <div class="editor-label">
            @Html.LabelFor(model => model.FullName)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.FullName)
            @Html.ValidationMessageFor(model => model.FullName)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.Email)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.Email)
            @Html.ValidationMessageFor(model => model.Email)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.PhoneNumber)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.PhoneNumber)
            @Html.ValidationMessageFor(model => model.PhoneNumber)
        </div>
        <div class="editor-label">
            @Html.LabelFor(model => model.Status)
        </div>
        <div class="editor-field">
            @Html.TextBoxFor(model => model.Status)
            @Html.ValidationMessageFor(model => model.Status)
        </div>
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
} 

     <script type="text/javascript">
         function Add_OnComplete(context) {
             var JsonAdd = context.get_response().get_object();
             if (JsonAdd.Success) {
                //TODO
             }
         }
    </script>

控制器

 public PartialViewResult Create()
    {
        return PartialView();
    }
     [HttpPost]
    public JsonResult Create(Subscribe model)
    {
        if (ModelState.IsValid)
        {
             _entity.CreateSubscribe(model, SubscribeStatus.Customer.GetHashCode());
             var   message = new Message(MailSubject, MailBody, model.Email);
            message.Send();
        }
        return Json(new
        {
            Success = true,
            Message = "The person has been added!"
        });
    }

我做错了什么?我错过了什么?

谢谢。

删除get_response().get_object()内容。

只使用上下文。成功

相关内容

  • 没有找到相关文章

最新更新