Отправить массив из JavaScript в C # .Net

#javascript #c# #jquery #arrays

#javascript #c# #jquery #массивы

Вопрос:

Я пытаюсь получить массив в моем бэкэнде C #! Вот что я пытаюсь….

Это моя страница .aspx

 
      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Save" Style="margin-top: 50%; margin-left: 40%; font-size: x-large; text-decoration-color: grey;" />
    //This is what I am trying to  pass my array in 

    <input id="categoryOrder" type="hidden" value="categoryOrder" runat="server" />
  

Вот мой JS

 
    //order is an array that I am trying to get in my c#
    document.getElementById(categoryOrder) = order;
  

Вот мой C#

 
     protected void Button1_Click(object sender, EventArgs e){
 

        if (!IsNullOrDefault(categoryOrder.Value))
            {
            //Menus is type String[]
                Menus =   categoryOrder.Value;
            }
    }
  

В приведенном выше коде я получаю следующую ошибку:

categoryOrder.value является строкой и не может быть преобразован в строку[]

То, что я пробовал до сих пор — приведение типов, сериализация и десериализация. Ничего не работает. Буду признателен за любую помощь. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Я открыт для того, чтобы попробовать различные методы передачи массива JS в C #. Кроме того, я напечатал массив order в JS, и это правильно.

Комментарии:

1. Ваш оператор присваивания JavaScript ошибочен. Вы не можете присвоить значение результату вызова метода getElementById().

2. Мммм интересно. Знаете ли вы, как я могу это сделать?

3. начните здесь: элемент ввода HTML — чтобы понять, что элементы ввода не содержат массивов, а только строки, затем перейдите сюда: JavaScript .getElementById() , чтобы понять, как работает DOM API.

4. Okay1 Это имеет смысл, но это все равно не решает мою проблему передачи массива из js обратно в c #

5. Вы не можете отправить массив из JavaScript точно так же, как вы не можете отправить целое или логическое значение из JavaScript. Это связано с тем, что протокол передачи гипертекста основан на тексте . В JavaScript мы сериализуем эти структуры данных с помощью JSON API (массив JavaScript — это тип объекта в JavaScript, который можно сериализовать)