A: 

If elegance is what you want, I would use a jQuery web service request to make a AJAX request to the underlying ASPX page instead. It's pretty darned elegant, because all you need on your ASPX page is a static [WebMethod] to perform the actual action, and a $.ajax() call from jQuery.

Dave Markle
+2  A: 

How about rendering checkbox based on whether the model is enabled or not.

In jQuery, you can replace those checkboxes with your images. Something like

Your document.ready code may look like,

$(document).ready(
function()
{
    $('.enabledCheckbox').each(
        function()
        {
            var image = $(this).checked ? 'tick.png' ? 'tick_grey.png';
            $(this).parent.click(
                function()
                {
                    if($(this).is('image'))
                        toggleEnabledStatus(); //write code in toggleEnabledStatus to toggle the state of the model on server side.
                }     
                );
            $(this).parent.html('<img src=' + image + '/>');
        }
    );
}
);

Alternatively, you can use plugin like jquery-checkbox to give them any fancy styling you may think of.

SolutionYogi
I would say this is the best way to do it - that way you leave the html page only with html and don't clutter it with all that extra code
sirrocco