0
votes

Comment construire un tableau en javascript et le recevoir dans le contrôleur c # mvc

Il est possible de construire un tableau en jquery / javascript pour l'envoyer à mon contrôleur c #?

Je reçois une liste d'employés parmi un multiple de sélection, je peux les alerter comme ceci:

        $.ajax({
            type: 'POST',
            dataType: 'json',
            url: '/MyAjaxRoute',
            data: { arraytosend: arraybuildInJS },
            success: function (response) {
                if (response.success) {
                    alert('yes');
                }
        },

Mon script:

        $('#check').on('click', function () {
            $("#liste").find("option:selected").each(function () { alert($(this).text()); });
        });
  • Pouvez-vous m'expliquer comment créer un tableau en js et le recevoir dans un contrôleur c # mvc?


4 commentaires

où est votre code de contrôleur?


je ne code pas le code du contrôleur en fait


utilisez cette var ajaxResult = [];


utilisez stackoverflow.com/questions/38041679/…


3 Réponses :


0
votes

Je suppose que push est ce que vous recherchez.

var arraybuildInJS = [];
$('#check').on('click', function () {
            $("#liste").find("option:selected").each(function () { arraybuildInJS.push($(this).text()); });
        });

N'oubliez pas que vous devez vous attendre à un Enumerable de chaîne dans votre contrôleur. Comme vous ne le codez pas, essayez de faire correspondre les objets.


0 commentaires

0
votes

Commencez par créer une action dans votre contrôleur en tant que:

var array = [];
$('#check').on('click', function () {

$("#liste").find("option:selected").each(function () {
    array.push($(this).text)
});

$.ajax({
     type: 'POST',
     dataType: 'json',
     url: '@Url.Action("SaveArrayData", "MyController")',
     data: { myData: array },
     success: function (response) {
       if (response.success) {
          array = [];//empty the array you can also use array.length = 0
          alert('yes');
       }          
     }
   });
});

Ensuite, dans votre code js, vous pouvez faire ce qui suit:

public JsonResult SaveArrayData(List<string> myData)
{
   if(myData.Count == 0) return Json(new {success = false});

   //do something with myData
   return Json(new {success = true});
}


0 commentaires

0
votes

Merci pour vos réponses, je peux envoyer mes données avec succès mais je ne trouve pas le moyen de les analyser dans mon contrôleur c #

public ActionResult GetAjaxSession(string searchequipe)
    {
        if (searchequipe != null)
        {
            var equipe_decode = HttpUtility.UrlDecode(searchequipe);

// how to parse my json variable : searchequipe ? 

            return Json(new { success = true }, JsonRequestBehavior.AllowGet);
        }

        return null;


    }


0 commentaires