#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, который можно сериализовать)