2017-10-06 11 views
-1

formulaire mvc5 net et case à cocher Utilisation.Asp.net MVC Checkbox Événement HTTPPOST ServerSide

Ma condition i est besoin d'appeler une action HttpPost immedaitely après avoir sélectionné la case à cocher (true)

Son action quelque chose comme HttpPost doit être appelé immédiatement après avoir sélectionné la case à cocher.

Je dois également passer Model à la publication HTTP.

pouvez-vous s'il vous plaît laissez-moi savoir quel est le moyen souhaité pour y parvenir?

+0

En utilisant le rasoir, vous pouvez utiliser '@ Html.CheckBox ("chkName", false, nouveau {onclick = "this.form.submit();"})' - voir [ici] (https://stackoverflow.com/questions/18721288/using-checkbox-submit-form-in-asp-net-mvc) –

Répondre

0

Je vous recommande d'utiliser jquery pour y parvenir. En supposant que votre case à cocher est niché sous une forme, vous pouvez utiliser:

$(function() { 
    $('#CheckBoxName').change(function() { 
     $(this).closest("form")[0].submit(); 
    }); 
}); 

Cela déclenchera une postback, appelant la méthode HttpPost appropriée et l'envoi du modèle en tant que paramètre.

+0

il a aidé à résoudre le problème –

0

Vous devez utiliser javascript pour réagir en cas de changement de la case à cocher puis en postant via ajax.

Voici un exemple:

$('#checkbox').change(function(){ 
    if (this.checked){ 
       var jsonModel = '@Html.Raw(Json.Encode(Model))'; 

       $.ajax({ 
       type: 'post', 
       url: '@Url.Action("UrlOfPostAction")', 
       data: { Model: jsonModel}, 
       dataType: 'json', 
       success: function (res) { 
        //Do something 
       } 
       //manage errors 
      }); 
    } 
});