Hola a todos, hoy quiero mostrar un pequeño tip con el cual podemos responder correctamente a una petición sin importar si dicha petición se realiza utilizando Ajax o no, lo primero que vamos a tener son dos helpers, uno con una petición tradicional @Html.ActionLink y el otro con una de tipo Ajax @Ajax.ActionLink:

@Ajax.ActionLink("Ajax About ", "About", new AjaxOptions { UpdateTargetId = "divAbout" }) @Html.ActionLink("Normal About", "About")

Luego vamos a la acción About:

public ActionResult About() { ViewBag.Message = "Your application description page."; if (Request.IsAjaxRequest()) return PartialView("About"); else return View("About"); }

Como se puede ver, simplemente se utiliza el método Request.IsAjaxRequest() para determinar si la petición se realizó utilizando Ajax o no, en caso afirmativo se retorna un PartialView, de lo contrario el View tradicional.

Te recomiendo leer este post sobre Vistas Parciales!

Saludos.

Descarga el ejemplo!