Сначала исправьте перегрузку Ajax.ActionLink
, так как ваша не будет компилироваться.
И для передачи параметров вы можете сделать это:
@Ajax.ActionLink(
"A",
"About",
null,
new AjaxOptions {
HttpMethod = "POST",
OnSuccess = "updateLetter('A')"
},
new {
id = "letter_A"
}
)
, а затем:
function updateLetter(letter)
{
$("#letter-" + letter).toggleClass('selected');
}
Лично я не фанат Ajax.*
помощников.Я использую альтернативный подход, который состоит из стандартного HTML ActionLink
:
@Html.ActionLink(
"A",
"About",
null,
new {
@class = "letter"
id = "letter_A"
}
)
, который я ненавязчиво AJAXify в отдельном файле JavaScript:
$(function() {
$('.letter').click(function() {
var $letter = $(this);
$.post(this.href, function(result) {
$letter.toggleClass('selected');
});
});
});