To do this you need the Ajax.ActionLink helper method. This takes (among other overloads) the following form:
@Ajax.ActionLink("Details", "Details", new { id = item.Id }, new AjaxOptions { UpdateTargetId = "divDetails" })
Here we are specifying the link text, the controller action, the route value and the target HTML element to update with the result of the Ajax request.
The Details action should return a PartialResult.
I had trouble getting this to work, as the Details action just posted back to a new page instead of the target element. Eventually I discovered that the key to getting this working is to add the following script (in _Layout.cshtml):
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
No comments:
Post a Comment