передать данные списка подкачки контроллеру - PullRequest
0 голосов
/ 15 октября 2019

Я использую список списка подкачки и получил выбранный элемент в массив, но не могу отправить его на контроллер с помощью метода jQuery ajax?


Передать данные списка списка подкачки вконтроллер

Этот фрагмент кода используется для переноса элементов с левой стороны списка в правую сторону.

<script>
    $(document).ready(function () {
        $('#btnRight').click(function (e) {
            var selectedOpts = $('#lstBox1 option:selected');
            if (selectedOpts.length == 0) {
                alert("Nothing to move.");
                e.preventDefault();
            }

            $('#lstBox2').append($(selectedOpts).clone());
            $(selectedOpts).remove();
            e.preventDefault();
        });

Этот фрагмент кода используется для переноса элементов с правой стороныполе списка слева.

        $('#btnLeft').click(function (e) {
            var selectedOpts = $('#lstBox2 option:selected');
            if (selectedOpts.length == 0) {
                alert("Nothing to move.");
                e.preventDefault();
            }

            $('#lstBox1').append($(selectedOpts).clone());
            $(selectedOpts).remove();
            e.preventDefault();
        });


        $("#sub2").on("click", function (event) {
            $('#lstBox2  option').prop('selected', true);
            var things = $('#lstBox2').val();
            console.log(things);

            things = JSON.stringify({ 'things': things });

Полученные значения для полей списка передаются в контроллер

            $.ajax({
                contentType: 'application/json; charset=utf-8',
                dataType: 'json',
                type: 'POST',
                url: '/Home/SaveData',
                data: things,
                success: function () {
                    $('#result').html('"PassThings()" successfully called.');
                },
                failure: function (response) {
                    $('#result').html(response);
                }
            });

        });

    });

</script>

</head>
<body>
    <div class="approveTermsContainer">
        <div class="newItems">
            <b>New Items:</b><br />
            <select multiple="multiple" id='lstBox1'>
                @{ 
                    List<SwapList.Models.pageList> list = (List<SwapList.Models.pageList>)Session["List1"];
                }
                @{
                    foreach (var item in list)
                    {
                        <option value="{pageName:@item.pageName, mainPage:@item.mainPage}">@item.pageName </option>

                    }
                }

            </select>
        </div>
        <div class="transferBtns">
            <center><input type='button' id='btnRight' value='>' class="button button2" /></center>
            <center><input type='button' id='btnLeft' value='<' class="button button2" /></center>

            <center>
                <div class="submitContainer">
                    <input type="submit" class="button button1" id="sub2" />
                </div>
            </center>
        </div>
        <div class="approvedItems">
            <b>Items to Approve: </b><br />
            <select multiple="multiple" id='lstBox2'></select>
        </div>
    </div>
</body>

</html>

Это массив print в console.log

["{pageName:Not Planned Machines, mainPage:Dashboard}", "{pageName:Breakdown Machines, mainPage:Dashboard}"]

Контроллер

 public void SaveData(List<pageList> pagenames)
 {
     var t = pagenames;
 }

модель класса

 public class pageList
 {
     public int pageId { get; set; }
     public string pageName { get; set; }    
     public string mainPage { get; set; }
 }

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