Динамически вставлять входные данные/данные в вызов JQuery Ajax ⇐ C#
Динамически вставлять входные данные/данные в вызов JQuery Ajax
Я пытаюсь вставить данные в ajax-вызов jQuery следующим образом
function Insert(FormName, DivName) { $.ajax({ тип: "ПОСТ", URL: "" + ИмяФормы + ".aspx/GetData", данные: '{}', contentType: "application/json; charset=utf-8", Тип данных: «JSON», успех: функция (ответ) { вар xmlDoc = $.parseXML(response.d); вар xml = $(xmlDoc); var Records = xml.find("Таблица"); если (Длина записи > 0) { вар Main = {}; $.each(Записи, функция () { вар запись = $(это); var ColName = Record.find("Имя_столбца").text(); //Получаем имена столбцов из базы данных вар ColValue = GetColumnsValue (ColName, DivName); // получение значения столбца в веб-форме. Main.ColName = ColValue; // динамическое добавление значений столбцов в Main, эта строка не работает }); // добавление столбцов один за другим работает нормально //Main.Id = GetColumnsValue("Id", DivName); //Main.StudentName = GetColumnsValue("StudentName", DivName); //Main.RegNo = GetColumnsValue("RegNo", DivName); //Main.Marks = GetColumnsValue("Marks", DivName); $.ajax({ тип: "ПОСТ", URL: "" + ИмяФормы + ".aspx/Insert", данные: "{MainValues: " + JSON.stringify(Main) + "}", contentType: "application/json; charset=utf-8", Тип данных: «JSON», успех: функция (ответ) { }, ошибка: функция (xhr, статус, ошибка) { оповещение (xhr.responseText); } }).done(функция () { }); } }, ошибка: функция (d) { предупреждение (d.responseText); } }); } Вставка столбцов один за другим работает нормально. Но я хочу динамически вставлять столбцы и их значения. Итак, я получаю имена столбцов непосредственно из базы данных и пытаюсь вставить их через цикл. Но этот трюк не работает.
Следующий код работает нормально, когда я добавляю все столбцы и их значения один за другим.
Main.Id = GetColumnsValue("Id", DivName); Main.StudentName = GetColumnsValue("StudentName", DivName); Main.RegNo = GetColumnsValue("RegNo", DivName); Main.Marks = GetColumnsValue("Знаки", DivName); Но когда я пытаюсь динамически добавлять столбцы и их значения, это не работает. Учитывая ColName как имя столбца.
$.each(Записи, функция () { вар запись = $(это); var ColName = Record.find("Имя_столбца").text(); //Получаем имена столбцов из базы данных вар ColValue = GetColumnsValue (ColName, DivName); // получение значения столбца в веб-форме. Main.ColName = ColValue; //добавляем значение столбца в Main, эта строка не работает }); Вот код для GetColumnsValue
function GetColumnsValue(ColumnName, DivName) { var all = document.getElementById(DivName).getElementsByTagName("*"); вар контрольный идентификатор; вар найден, ColumnValue; for (var я = 0; я 0) { var CtrlName = $("[id*=" + controlid + "]").attr('id'); if (CtrlName.substr(CtrlName.length - 3, 3) != "_NI") { переключатель (CtrlName.substr(0, 3)) { случай «txt»: корпус «лбл»: случай "смб": случай "дте": var c = CtrlName.substr(3, CtrlName.length - 6); если (c == Имя Столбца) { ColumnValue = $("[id*=" + CtrlName + "]").val(); Найден = "Y"; } перерыв; случай «чк»: var c = CtrlName.substr(3, CtrlName.length - 6); если (c == Имя Столбца) { if ($("[id*=" + CtrlName + "]").prop('checked') == true) Значение Столбца = "Д"; еще Значение Столбца = "N"; Найден = "Y"; } перерыв; } если (Найдено == "Y") перерыв; } } } если (Найдено == "N") вернуть «Н»; еще вернуть значение столбца; }
Я пытаюсь вставить данные в ajax-вызов jQuery следующим образом
function Insert(FormName, DivName) { $.ajax({ тип: "ПОСТ", URL: "" + ИмяФормы + ".aspx/GetData", данные: '{}', contentType: "application/json; charset=utf-8", Тип данных: «JSON», успех: функция (ответ) { вар xmlDoc = $.parseXML(response.d); вар xml = $(xmlDoc); var Records = xml.find("Таблица"); если (Длина записи > 0) { вар Main = {}; $.each(Записи, функция () { вар запись = $(это); var ColName = Record.find("Имя_столбца").text(); //Получаем имена столбцов из базы данных вар ColValue = GetColumnsValue (ColName, DivName); // получение значения столбца в веб-форме. Main.ColName = ColValue; // динамическое добавление значений столбцов в Main, эта строка не работает }); // добавление столбцов один за другим работает нормально //Main.Id = GetColumnsValue("Id", DivName); //Main.StudentName = GetColumnsValue("StudentName", DivName); //Main.RegNo = GetColumnsValue("RegNo", DivName); //Main.Marks = GetColumnsValue("Marks", DivName); $.ajax({ тип: "ПОСТ", URL: "" + ИмяФормы + ".aspx/Insert", данные: "{MainValues: " + JSON.stringify(Main) + "}", contentType: "application/json; charset=utf-8", Тип данных: «JSON», успех: функция (ответ) { }, ошибка: функция (xhr, статус, ошибка) { оповещение (xhr.responseText); } }).done(функция () { }); } }, ошибка: функция (d) { предупреждение (d.responseText); } }); } Вставка столбцов один за другим работает нормально. Но я хочу динамически вставлять столбцы и их значения. Итак, я получаю имена столбцов непосредственно из базы данных и пытаюсь вставить их через цикл. Но этот трюк не работает.
Следующий код работает нормально, когда я добавляю все столбцы и их значения один за другим.
Main.Id = GetColumnsValue("Id", DivName); Main.StudentName = GetColumnsValue("StudentName", DivName); Main.RegNo = GetColumnsValue("RegNo", DivName); Main.Marks = GetColumnsValue("Знаки", DivName); Но когда я пытаюсь динамически добавлять столбцы и их значения, это не работает. Учитывая ColName как имя столбца.
$.each(Записи, функция () { вар запись = $(это); var ColName = Record.find("Имя_столбца").text(); //Получаем имена столбцов из базы данных вар ColValue = GetColumnsValue (ColName, DivName); // получение значения столбца в веб-форме. Main.ColName = ColValue; //добавляем значение столбца в Main, эта строка не работает }); Вот код для GetColumnsValue
function GetColumnsValue(ColumnName, DivName) { var all = document.getElementById(DivName).getElementsByTagName("*"); вар контрольный идентификатор; вар найден, ColumnValue; for (var я = 0; я 0) { var CtrlName = $("[id*=" + controlid + "]").attr('id'); if (CtrlName.substr(CtrlName.length - 3, 3) != "_NI") { переключатель (CtrlName.substr(0, 3)) { случай «txt»: корпус «лбл»: случай "смб": случай "дте": var c = CtrlName.substr(3, CtrlName.length - 6); если (c == Имя Столбца) { ColumnValue = $("[id*=" + CtrlName + "]").val(); Найден = "Y"; } перерыв; случай «чк»: var c = CtrlName.substr(3, CtrlName.length - 6); если (c == Имя Столбца) { if ($("[id*=" + CtrlName + "]").prop('checked') == true) Значение Столбца = "Д"; еще Значение Столбца = "N"; Найден = "Y"; } перерыв; } если (Найдено == "Y") перерыв; } } } если (Найдено == "N") вернуть «Н»; еще вернуть значение столбца; }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение