2011-12-07 13 views
8

Tengo un problema extraño al intentar utilizar el método Ajax.BeginForm de ASP.NET MVC3. La forma se representa correctamente en la página con el atributo de acción correcto. Sin embargo, cuando se envía el formulario, el evento "OnFailure" devuelve un error 404 "No encontrado".AJAX.BeginForm PostURL está dañado

Si miro la solicitud con el violín, veo que la URL de la publicación es "/ [Object NodeList]", que obviamente no es válida.

Mi código de la maquinilla de afeitar es el siguiente:

@using (Ajax.BeginForm("Save", "Items", new AjaxOptions { UpdateTargetId = "itemContainer", InsertionMode = InsertionMode.Replace, OnFailure = "onFailure"})) 
{ 
    <div style="position:absolute; bottom:20px; left:200px;"> 
     <button type="submit" id="Save" name="action" value="Save">Save</button> 
     <button type="submit" id="Cancel" name="action" value="Cancel">Cancel</button> 
    </div> 
} 
+0

Debo mencionar que estoy usando la discreta biblioteca ajax que contribuyó al problema. No estoy seguro si esto es un problema con el sabor "intrusivo" de MVC ajax. – jbrunken

Respuesta

11

El problema fue utilizar "acción" para el atributo de nombre en los botones de envío. Tan pronto como cambié el atributo de nombre a un valor diferente, todo comenzó a funcionar perfectamente.

Supongo que hay un selector jQuery en la discreta biblioteca ajax que se confundió.

+3

¡Gracias! Golpeé mi cabeza contra este mismo problema por bastante tiempo. – Japple

+0

yessss compañero !! ¡Eso fue todo! – wodzu

0

¿Tiene JavaScript discreta dentro o fuera de su web.config? Primero estoy adivinando aquí que la biblioteca ms Ajax está actuando ridículamente, así que habilite discretamente para que tengamos soporte jquery.

¿Cuál es su forma de acción establecida? Publique su elemento HTML de formulario si puede.

+1

Encontré la solución. Tenía que ver con el atributo de nombre en el botón de enviar. – jbrunken

+0

el nombre del botón de enviar ¿cambió la URL que estaba publicando también? eso suena muy raro! –

+0

Creo que estoy de acuerdo con @AdamTuliper al cambiar el nombre de un botón no debería cambiar la URL que estaba publicando. Si lo cambias de nuevo a algo que no has usado antes, ¿se rompe? – Eonasdan

Cuestiones relacionadas