簡體   English   中英

如何將列表值從Ajax調用傳遞到控制器

[英]How to pass List values from Ajax call to controller

我想將List值從Ajax調用傳遞給控制器​​。 值用逗號分隔。 但是,當它來到控制器時,我希望它會像列表一樣顯示。 但以逗號顯示。

我的代碼在這里

function Activate() {
    var orderId = "";
    var count = 0;
    $("input:checkbox[name=ActivateOrder]:checked").each(function () {
        if (count == 0) {
            orderId = $(this).val();
        }
        else {
            orderId += "," + $(this).val();
        }
        count = count + 1;
    });

    var data = "orderIds=" + orderId;
    var url = '<%= Url.Action("activate", "Report","Add") %>';

    $.ajax({
        type: "POST",
        url: url,
        data: data,
        dataType: "json",
        success: function (data) { 
            if(data.error=="3")
            {
                alert(data.message);
                document.getElementById('checkall').checked=false;
                 window.location = "/Add/Report/savedetails?lstOrderIds=" + orderId;
            }

        }
    });
    return false;

}

我必須將lstOrderIds傳遞給控制器

 public ActionResult savedetails(List<int> lstOrderIds)
{
            //Implement some logic..
}

如何轉換呢? 我嘗試了很多方法。 但沒有希望。 我想我不是那么聰明。 幫我找出來..

如下創建數組。

    var selected = new Array();
    $('input:checked').each(function () {
        selected.push($(this).attr('id'));
        alert("Event " + $(this).attr('id') + " will be compared");
    });

    $.ajax({
        url: "/Event/CompareEvents",
        contentType: "application/json",
        type: "POST",
        datatype: "json",
        data: JSON.stringify({eventIds:selected}),
        error: function (xmlHttpRequest, errorText, thrownError) {
            alert(xmlHttpRequest, errorText, thrownError);
        },
        success: function (data) {
            alert("success");
            document.location = data;
        }
    });

控制器代碼

   [HttpPost]
   public ActionResult CompareEvents(List<int> eventIds)
{
    return null;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM