Мне нужно передать двумерный массив методу страницы, написанный на код за веб-страницей в asp.net. У меня есть переменная objList
как двухмерный массив. Я использовал следующий код для достижения этого без успеха, и метод страницы не вызывается.Передача массива в код из jquery ajax
JAVASCRIPT
function BindTable(objList) {
$.ajax(
{
url: "CompCommonQues.aspx/SaveData",
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST",
data: { data: objList },
success: function (data) {
//Success code here
},
error: function() { }
});
}
КОД ПОЗАДИ .cs Файл
[WebMethod]
public static string SaveData(string[,] data)
{
string[,] mystring = data;
return "saved";
}
Существует метод, как JSON.stringify (objList), чтобы передать массив JSON в код позади, но не смог реализовать это. Простой вызов wihtout массив работает для меня, как
data: "{ 'data':'this is string' }",
и в коде позади
[WebMethod]
public static string SaveData(string data)
{
string mystring = data;
return "saved";
}
Существует проблема при переходе data
. Можете ли вы мне помочь, как передать его для массивов?
Веб-метод не ударяет, когда я отлаживаю код. Какие изменения требуются в коде за функцией. –
Вы передаете строку как: {данные: [["a", "b"], ["a", "b"], ["a", "b"]]}. Поэтому вам нужно изменить параметр из строки (,) на строку и использовать System.Web.Script.Serialization.JavaScriptSerializer для десериализации в строку (,). Я рассмотрю пример. – JurgenStillaert
Я изменил свой код в соответствии с вашим предложением, создаются массивы, но код позади метода все еще не срабатывает. –