2012-06-21 53 views

回答

3

是的,當然,這是有可能的。你可以使用一個標準的複選框:

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

,然後在單獨的JavaScript文件中使用jQuery訂閱此複選框的變化情況,並悄悄地AJAXify它:

$(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  
      } 
     }); 
    }); 
}); 
+0

非常感謝你, – Victor

+0

不這項工作?或者'data_url'實際上應該是'data-url'? – philreed

+2

是的,它的工作原理。你不能在.NET中擁有一個名爲'data-url'的屬性。 ASP.NET MVC中的helper在生成標記時足夠智能,可以將'data_url'解釋爲'data-url'屬性。這是一個慣例。 –