First fix the Ajax.ActionLink overload as yours will not compile.
And to pass parameters you can do this:
@Ajax.ActionLink( "A", "About", null, new AjaxOptions { HttpMethod = "POST", OnSuccess = "updateLetter('A')" }, new { id = "letter_A" } )
and then:
function updateLetter(letter) { $("#letter-" + letter).toggleClass('selected'); }
Personally, I am not a fan of Ajax.* . I use an alternative approach, which consists of standard HTML ActionLink :
@Html.ActionLink( "A", "About", null, new { @class = "letter" id = "letter_A" } )
which I unobtrusively AJAXify in a separate javascript file:
$(function() { $('.letter').click(function() { var $letter = $(this); $.post(this.href, function(result) { $letter.toggleClass('selected'); }); }); });
source share