Estoy tratando de hacer un sitio web MVC con llamada Ajax. No tengo problemas para usar directamente jquery, pero cuando uso @ Ajax.ActionLink, no obtengo el resultado que quiero. Aquí es mi punto de vista:MVC 4 Ajax.Action link won t work
<script type="text/javascript">
function deleteComment(id) {
$.post(
"/Role/AjaxTest",
//{ id: id },
function (data) {
$("#testtarget").html(data);
});
}
</script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<h2>TITLE</h2>
<p>
@Ajax.ActionLink("Ajax Test", "AjaxTest", "Role", new AjaxOptions{UpdateTargetId="testtarget",HttpMethod = "Get" , InsertionMode = InsertionMode.Replace })
</p>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RoleName)
</td>
<td>
<a onclick="deleteComment('@item.RoleId'); return false;" href="#">Delete</a>
@Html.ActionLink("Delete", "Delete", new { id=item.RoleId })
</td>
</tr>
}
</table>
<div id="testtarget">Test Div</div>
y aquí es mi datos Controler:
public string AjaxTest()
{
return "Some random text";
}
mi llamada en jQuery funciona a la perfección y el texto aparece en el div, pero mi ActionLink sólo me redirecciona a: localhost/Role/AjaxTest así que solo tengo el mensaje en un navegador bancario.
¿Alguna idea de lo que está mal aquí?
¡Muchas gracias de antemano!
¿Estás seguro de que se está cargando el archivo 'jquery.unobtrusive-ajax.min.js'? –
Sí, cuando hago clic en el enlace en mi fuente de la página web: lo abre. – Tom