Рейтинг:
1
Ramesh Kumar Barik
Создайте функцию jquery для передачи табличных данных в contoleer
функция SaveData() {
// Создайте объект массива, чтобы поместить в него табличные данные.
var selected = новый массив();
// Вставьте в него данные таблицы.
$('#table_bodyID tr'). each (функция () {
выбран.толчок({
JsonObject1: $тр.найти (тд:эквалайзер(0) вход[тип=скрыто]').вал(),
JsonObject2:$tr. find('td:eq (1) input[type=Text]'). val()
});
});
$.Аякс
({
тип: "пост",
contentType: "application/json; charset=utf-8",
url: "ContollerName/Actionmethod name/",
сведения: в формате JSON.преобразовать в строки({ ActionMethodParamterName: избранные }),
тип данных: "json",
успех: функция (данные) {
alert ('успех')
},
ошибка: функция (x, e) {
alert ('Failed')
}
});
}
Примечание: здесь JsonObject1, JsonObject2 - это свойства модели, данные которой вы передаете из представления в контроллер.
souvikcode
Это то же самое, что и при передаче данных из ajax в asp webmethod. Все нормально. Но я должен отправить больше данных этому контроллеру вместе с этой таблицей.
Скажем, hallName, Hall description - это свойство класса hallmaster. а таблица перейдет в свойство "hall_place_link", которое является списком. Теперь вы можете понять, я надеюсь. В этом случае я должен опубликовать полную модель в ajax?
souvikcode
Он не работает, когда я вызываю эту функцию по нажатию кнопки, которая отправляет данные на контроллер.
Ramesh Kumar Barik
В чем проблема?
1. метод контроллера не вызывается?
2. или любая проблема в вызове ajax.
souvikcode
видите ли, я создал такую функцию javascript
функция saveData (модель) {
alert ("привет");
$("#tblPlaceList").найти("элемента tbody").найти("тр").каждый(функция () {
модель.SelectHall.hall_Place_link.толчок({
hallPlaceId: $(этот).найти("тд:эквалайзер(0)").HTML-код(),
топоним: $(этот).найти("тд:ЭК(1)").HTML-код(),
placeDescription: $(этот).найти("тд:эквалайзер(2)").HTML-код(),
avDrawing: "",
холлид: модель.SelectHall.hallId
});
});
$.Аякс
({
тип: "пост",
contentType: "application/json; charset=utf-8",
url: "/ Hall / Insert",
сведения: в формате JSON.преобразовать в строки({ параметр obj: модель }),
тип данных: "json",
успех: функция (данные) {
alert ('успех')
},
ошибка: функция (x, e) {
alert ('Failed')
}
});
}
прежде всего, как я могу передать параметр модели из представления в эту функцию javascript. И будет ли это сделано кнопкой, которая делает обратную передачу, или я должен предотвратить обратную передачу.
Ramesh Kumar Barik
функция saveData(varhallId) {
var hall_Place_link = новый массив();
$("#tblPlaceList").найти("элемента tbody").найти("тр").каждый(функция () {
hall_Place_link.толчок({
hallPlaceId: $(этот).найти("тд:эквалайзер(0)").HTML-код(),
топоним: $(этот).найти("тд:ЭК(1)").HTML-код(),
placeDescription: $(этот).найти("тд:эквалайзер(2)").HTML-код(),
avDrawing: "",
халлид: вархаллид
});
});
$.Аякс
({
тип: "пост",
contentType: "application/json; charset=utf-8",
url: "/ Hall / Insert",
сведения: в формате JSON.преобразовать в строки({ параметр obj: hall_Place_link }),
тип данных: "json",
успех: функция (данные) {
alert ('успех')
},
ошибка: функция (x, e) {
alert ('Failed')
}
});
}
souvikcode
Я могу это понять. но то, что я передаю в "вархаллиде", является моделью этого частичного представления. Теперь понял?
Потому что сама модель имеет больше данных, заполненных пользователем. Мне просто нужно заполнить ссылку hall_place_link в javascript.
Ramesh Kumar Barik
Модель этого представления не может напрямую перейти к функции jquery.
Поскольку вы хотите передать только данные одного объекта модели со списком данных в метод действия. Как вы создали объект класса для вашего метода действия. создайте ту же структуру в Jquery и опубликуйте ее с помощью метода ajax.
souvikcode
Это означает, что я должен создать один и тот же объект модели в javascript. и передавать данные в javascript из представления. Нет способа передать существующую модель.
Ramesh Kumar Barik
Да, модель - это только передача данных между представлением (html-страницами и т. д.) и контроллером.