JQuery AJAX asp.net MVC - PullRequest
       3

JQuery AJAX asp.net MVC

1 голос
/ 26 августа 2011

Я хочу опубликовать данные на сервере. В форме я выбрал флажок и получить значения из них. Я использовал следующий код:



    $(".DownloadSelected").click(function () {
            var values = [];
            var chks = $(':checkbox[name="ids"]:checked');

            $(chks).each(function (i) {
                values[i] = $(this).val();
            });

            $.post("/Documents/DownloadSelected/", { ids: values });
        });

В контроллере у меня есть это:


     [HttpPost]
        public ActionResult DownloadSelected(int[] ids)
        {
        }

Проблема в том, что в контроллере я получил нулевые значения в массиве int [] ids. Кто-нибудь может мне помочь?

Ответы [ 4 ]

0 голосов
/ 28 января 2019

просто поставьте свои флажки в форме, как указано ниже

<form id="frm">
<input type="checkbox"  name="ids" value="1">
<input type="checkbox"  name="ids" value="2">
<input type="checkbox"  name="ids" value="3">
</form>

, затем отправьте сообщение от

var form=$("#frm");
$.ajax({
           type: "POST",
           url: "your action url here",
           data: form.serialize(), // serializes the form's elements.
           success: function(data)
           {
               alert(data); 
           }
         });
0 голосов
/ 26 августа 2011

Попробуйте это

  $(".DownloadSelected").click(function () {
        var chks = $(':checkbox[name="ids"]:checked');

        var values= $(chks).each(function (i) {
           return i.val();
        });
        values.join(',');
        $.post("/Documents/DownloadSelected/", { ids: values });
    });

и в контроллере

 [HttpPost]
    public ActionResult DownloadSelected(List<int> ids)
    {
    }
0 голосов
/ 07 декабря 2017

Вы должны определить сложный тип и определить свойство int [].

public class PostModel
{
    public int[] Ids { get; set; }
}

и в контроллере

[HttpPost]
public ActionResult DownloadSelected(PostModel postModel)
{
}
0 голосов
/ 26 августа 2011

Значения в коде javascript не передаются в виде массива int, попробуйте проанализировать каждое значение как int parseInt($(this).val());.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...