Ajax.BeginForm OnSuccess pas de tir

Je suis en utilisant cette vue partielle

@model CreateConfigEntityModel

<div class="row">
@using (Ajax.BeginForm("AddElement", "MerchantSites", new { merchantId = @Model.MerchantId }, new AjaxOptions
{
  HttpMethod = "POST",
  OnSuccess = "alert('ok')"
},
new { id = "addConfigForm" }
))
{
  @Html.LabelFor(m => m.EntityName)
  @Html.TextBoxFor(m => m.EntityName)
  @Html.ValidationMessageFor(m => m.EntityName)

  @Html.LabelFor(m => m.DefaultValue)
  @Html.TextBoxFor(m => m.DefaultValue)
  @Html.ValidationMessageFor(m => m.DefaultValue)

  <input type="submit" value="Ajouter" class="tiny button" /> 
}
</div>

Contrôleur

public JsonResult AddElement(CreateConfigEntityModel model)
{
    if (ModelState.IsValid)
    {
        _merchantSitesManager.AddEntity(model.EntityName, model.DefaultValue);
        return Json(new { code = 1 }, JsonRequestBehavior.AllowGet);
    }
    else
        return Json(new { code = 0 }, JsonRequestBehavior.AllowGet);
}

C'est ce que montre après la soumission du formulaire (élément est ajouté correctement)

Ajax.BeginForm OnSuccess pas de tir

Pas sûr de ce que je fais mal.

À l'aide de jQuery JavaScript Library v2.1.1

J'ai dans mon web.config

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />

Je vais appeler ma vue partielle, comme ce

@{ Html.RenderPartial("_CreateConfigEntity", new CreateConfigEntityModel(Model.MerchantId)); }
Où le point d'arrêt est de frapper dans le contrôleur.
Le contrôleur est appelé à la validité du modèle de l'état
J'avais testé votre code c'est de travailler pour moi.
l'utilisateur fiddler outil de contrôle de la demande et de la réponse de l'appel ajax.
Le problème est que l'ensemble de la page de mise à jour, changements de l'url de AddElement. Je veux juste appeler mon succès méthode à la place.

OriginalL'auteur ThunderDev | 2014-10-14