Этот ответ на первый взгляд, так как я не смог извлечь дополнительную информацию.
Надеюсь, это поможет .
Так выглядит ваша переменная зарегистрированного значения в js код.
var checkedvalue = [];
var x = "230";//Just now constant value pass
var y = "450";
checkedvalue.push({
xCordi : x,
yCordi : y,
bPart:txtName.value
});
И это ваши ajax данные запроса.
data: JSON.stringify({ iName: ImageName,iPath:ImagePath,iData:checkedvalue })
Вот метод, который вызывается с ajax.
public static void GetSaveData(string iName, string iPath, string[] iData)
Теперь я не очень знаком с ajax вызовом aspx. Обычно есть контроллер с MVC.
, так как вы не упоминаете об ошибке в исходном сообщении.
Я думаю, Вы получаете Null reference exception
с checkedvalue->iData
. C# не может десериализовать сложный объект из javascript, не имея специфики. Имея в виду объект c#, он передает null
.
Массив строк будет работать следующим образом.
var checkedvalue = [];
checkedvalue.push("Hello"); //etc push other strings
Вам нужен класс c# как этот. Предполагая, что они имеют тип string все три. Из контекста я считаю, что xCordi, yCordi относятся к типу int и не стесняйтесь их менять. Также удалите ""
из вашего js кода.
public class SomeClass{
public string xCordi {get;set;} //change string to int
public string yCordi {get;set;} //change string to int
public string bPart {get;set;}
}
public static void GetSaveData(string iName, string iPath, string[] iData)
-> public static void GetSaveData(string iName, string iPath, List<SomeClass> iData)
или public static void GetSaveData(string iName, string iPath, SomeClass[] iData)
Тогда ваш метод ajax должен работать и c# должен быть в состоянии десериализовать объект.