Я отправляю данные через Ajax на страницу update.aspx вместе с идентификатором. Не знаю, правильно это или нет.
Я проверил данные, они не отправляются на страницу update.aspx. Форма состоит только из полей fname,age. Вот так я отправляю данные в update.aspx для обновления, когда пользователь нажимает кнопку редактирования:
data: {fname: '" + $('#fname').val() + "',age: '" + $('#age').val() + "'}" + "&id = " + id,
Снимок экрана.
Полный код Ajax
$.ajax({
type: 'POST';,
url: 'update.aspx/doSomething',
dataType: 'JSON',
contentType: "application/json; charset=utf-8",
data: { fname: '" + $('#fname').val() + "', age: '" + $('#age').val() + "'}" + "& id = " + id,
success: function(data) {
}
страница update.aspx
public class UserClass
{
public string fname { get; set; }
public int age { get; set; }
}
[WebMethod]
public static string doSomething(string fname, int age, int id)
{
SqlConnection con = new SqlConnection("server=.; Initial Catalog = jds; Integrated Security= true;");
string sql = "update record set name ='" + fname + "', age ='" + age + "' where id = '" + id + "')";
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
return "Sucess";
}
когда я нажимаю кнопку редактирования, он переходит к функции get_category_details вместе с идентификатором записи Изменить код кнопки
"sTitle": "Edit",
"mData": "id",
"render": function (mData, type, row, meta) {
return '<button class = "btn btn-xs btn-success" onclick = "get_category_details(' + mData + ') ">Edit</button>';
get_category_details все данные, отображаемые в текстовых полях.
function get_category_details(id) {
$.ajax({
type: 'POST',
url: 'edit_return.asmx/doSome',
dataType: 'JSON',
data: "{id: '" + id + "'}",
contentType: "application/json; charset=utf-8",
success: function (data) {
console.info(data);
$("html, body").animate({ scrollTop: 0 }, "slow");
isNew = false;
id = data.d[0].id
$('#fname').attr('value', data.d[0].fname);
$('#age').attr('value', data.d[0].age);
}
});
}
этот идентификатор, который я использовал для обновления id = data.d [0] .id
@VaibhavBhavsar Пожалуйста, прекратить добавлять теги к заголовку вопроса.





измените свой код ajax, как показано ниже
var dataValue = { "fname": $('#fname').val(), "age": $('#age').val(), "id": id};
$.ajax({
type:'POST';,
url: 'update.aspx/doSomething',
dataType: 'JSON',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(dataValue),
success: function (data) {
}
});
измените свой код веб-метода, как показано ниже
public class UserClass
{
public string fname { get; set; }
public int age { get; set; }
public int? id { get; set; }
}
[WebMethod]
public static string doSomething(UserClass userClass)
{
SqlConnection con = new SqlConnection("server=.; Initial Catalog = jds; Integrated Security= true;");
string sql = "update record set name ='" + userClass.fname + "', age ='" + userClass.age + "' where id = '" + userClass.id + "')";
SqlCommand cmd = new SqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
return "Sucess";
}
Можете ли вы объяснить Зачем, что он должен изменить, а Какие, ваш код, отличается?
это была синтаксическая ошибка в разделе data :. вы неуместны}.
если я напишу вот так, получение данных об ошибке: {fname: '"+ $ (' # fname '). val () +"', age: '"+ $ (' # age '). val () +"' , id: youridVariable}, ожидается;
измените youridVariable на значение Id, которое у вас есть
data: {fname: '"+ $ (' # fname '). val () +"', age: '"+ $ (' # age '). val () +"', id: id}, вот так но ошибка сэр ожидалась;
Я изменил ответ. Пожалуйста, попробуйте
Вы пропустили }); в конце закрытия ajax
теперь ошибок нет, но записи не обновляются, данные не передаются на страницу
Вы пробовали последний код, который я написал для ответа? поместите отладчик в веб-метод ur и проверьте, попадает ли вызов ajax в ur веб-метод или нет
сэр, я попытался поставить точку останова, но данные не переданы, есть ли ошибка, я обновил полные коды выше
id = data.d [0] .id это переменная id. update.aspx правильный или нет, сэр
Я попробовал код, который вы разместили сейчас. но запись не обновлялась, сэр.
попробуйте Console.log (dataValue) и проверьте правильность значения или нет
в каком месте я должен называть его Console.log (dataValue) внутри функции успеха ajax
Uncaught ReferenceError: идентификатор не определен в этой строке ошибки var dataValue = {"fname": $ ('# fname'). Val (), "age": $ ('# age'). Val (), "id": я бы};
это потому, что идентификатор нигде на странице не объявлен. объявить идентификатор и присвоить ему правильное значение и попробовать
жесткий код "id": 0 в значении данных и проверьте, попадает он или нет
Позвольте нам продолжить обсуждение в чате.
Вы можете обновить только свою функцию ajx таким образом
$.ajax({
type: 'POST',
url: 'update.aspx/doSomething',
dataType: 'JSON',
contentType: "application/json; charset=utf-8",
data: {
fname:$('#fname').val(),
age:$('#age').val(),
id:id //this id is your like fname or age that.You have get id from your request
}
success: function(data) {
}
{fname: 'kobianth', age: '122', id: 'null'} проходит как тот, сэр
_data = "{fname: '" + $ (' # fname '). val () + "', age: '" + $ (' # age '). val () + "', id: '" + id + "'}"; вот как я отправил значения в update.aspx идентификатор страницы, всегда получая null
Сначала вы получаете идентификатор из выбранной строки. Подобно этой var table = document.getElementById ("tableId"); var row = table.rows [индекс]; console.info (row.id); // это ваши значения идентификатора alert ($ ("table tr: nth-child (2)"). attr ('id')); ссылка Получить идентификатор из таблицы: stackoverflow.com/questions/13746153/…