Sto lavorando con C# .NET MVC2 e sto provando a creare un modulo Ajax che chiama un metodo che cancella un record del database (RemoveRelation). Il processo di cancellazione del record funziona come previsto. Dopo che il record è stato cancellato, il modulo dovrebbe chiamare una funzione javascript che rimuove il record dagli elementi visivi (RemoveRelation (10)). Ciò avviene tramite una chiamata AJAX che su Internet Explorer 9 e Firefox 4 funzionano tutti come previsto tuttavia su Chrome per qualche motivo l'aggiornamento non avviene tramite una chiamata AJAX e l'intera pagina si aggiorna quando il modulo per eliminare il record è in fase di aggiornamento inviato (non è corretto in quanto si suppone che il modulo venga generato con la funzionalità AJAX). Questo è il codice con il quale sto generando la forma:Perché Ajax.BeginForm non funziona in Chrome?
<% using (Ajax.BeginForm("RemoveRelation", "Relations",
new AjaxOptions { OnSuccess = "function() { RemoveRelation(10); } ", InsertionMode = InsertionMode.Replace, UpdateTargetId = "Relation10" },
new { id = "DeleteForm10" }))
{ %>
Inoltre su Chrome Ho un altro problema con un'Ajax.BeginForm separata.
<% using (Ajax.BeginForm("AddRelation", "Relations", new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "AddRelation" }, new { id = "AddRelationForm" }))
{ %>
Il precedente codice di modulo iniziale viene utilizzato per aggiungere relazioni all'elenco anziché rimuoverle. Ancora una volta sottolineo che su IE9 e FF4 quanto sopra funziona come previsto, su chrome invece di aggiungerne uno e aggiornarlo tramite ajax, è invece aggiungere il record due volte e, ancora una volta, aggiornare l'intera pagina piuttosto che eseguire l'aggiornamento ajax.
Perché questo si rompe in cromo?
Si consiglia di prendere in considerazione l'uso di http://jquery.malsup.com/form/ invece – Manatherin