Estoy tratando de navegar a una acción MVC mediante POSTING en lugar de GETting. (La acción es un DELETE, y no quiero que se puede llegar en un enlace externo.)Ajax.ActionLink no está PUBLIENDO
estoy usando un enlace en una cuadrícula generada por
Ajax.ActionLink("Remove", "Delete", new { saID = Model.Said, id = e.id }, new AjaxOptions { HttpMethod = "POST", Confirm = "Are you sure you want to delete this item?" })
que genera el código HTML siguiente:
<a href="/Equipment/Delete/102424/229933" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace, confirm: 'Are you sure you want to delete this item?', httpMethod: 'POST' });">Remove</a>
Mi problema es que cuando hago clic en el enlace, estoy llegando a la acción Eliminar a través de un GET en lugar de una POST, Y el cuadro de diálogo Confirmar no está teniendo lugar. He estado buscando en Google esto por varias horas y me sigo envolviendo alrededor del eje. ¿Qué estoy haciendo mal?
Su derecho: Estoy recibiendo "Sys.Mvc" no está definido - a pesar de que he incluido los tres de los archivos de script JS en mi MasterPage (MicrosoftAjax, MicrosoftMvcAjax y jquery-1.4.1-vsdoc) ¿Qué más debo hacer para configurar Sys.Mvc? –
@Dave: ¿los está incluyendo en ese orden? 'Sys.Mvc' se define en MicrosoftMvcAjax.js pero lo hace llamando a un método de MicrosoftAjax.js – tvanfosson
Ese parece ser el problema. Cuando enganché el violín, solo se cargaba el primero (MicrosoftAjax.js) de los tres archivos de script. Lo arreglé para que se cargara MicrosoftMvcAjax.js (que contiene la definición de Sys.Mvc) y se despegó y ejecutó, bueno, entonces. Recibo el cuadro de confirmación ahora, pero no obtengo mi formulario de eliminación. Pero lo investigaré mañana. –