Ajax.ActionLink(…) with checkbox

2019-01-26 21:51发布

问题:

Ajax.ActionLink("Link name",....)

it is possible to put checkbox in place of "Link name" ?

if so how?

thanks,

回答1:

Yes, of course that it is possible. You could use a standard checkbox:

@Html.CheckBoxFor(
    x => x.Foo, 
    new { 
        data_url = Url.Action("SomeAction", "SomeController"), 
        id = "mycheckbox" 
    }
)

and then in your separate javascript file use jQuery to subscribe to the change event of this checkbox and unobtrusively AJAXify it:

$(function() {
    $('#mycheckbox').change(function() {
        var data = {};
        data[$(this).attr('name')] = $(this).is(':checked');

        $.ajax({
            url: $(this).data('url'),
            type: 'POST',
            data: data,
            success: function(result) {
                // TODO: do something with the result    
            }
        });
    });
});