souvikcode Ответов: 2

Как передать табличные данные контроллеру в MVC


У меня есть модель со свойством List & lt;place>
место имеет свойство как
топоним,
placedescription

теперь у меня есть два текстовых поля для ввода имени места и описания, после чего я нажимаю кнопку Добавить, и эти данные вставляются в таблицу tbody чуть ниже кнопки Добавить с помощью jquery. Таким образом, строка таблицы увеличивается.

<table id="tblPlacelist">
<thead>
<tr>
<th>Place Name</th>
<th>Place Description</th>
</tr>
</thead>
<tbody></tbody>
</table>


Теперь вопрос в том, как я могу передать данные строки таблицы в виде списка?

Я взял частичный вид бритвы и список "место", объявленный выше этого вида.

Что я уже пробовал:

Та же проблема, что и описанная выше.

Afzaal Ahmad Zeeshan

Таблицы обычно используются для визуализации результатов.

Я могу только предложить вам взять данные и создать из них образец объекта. Вы можете попробовать прочитать значения строк и столбцов, а затем получить простой объект JavaScript. Затем отправьте его на контроллер.

souvikcode

Я очень новичок в MVC. Мне нужна таблица здесь, потому что пользователь может удалить строку,добавить строку в таблицу с помощью javascript. Я не знаю другого хорошего способа сделать коллекцию в переднем конце. Поэтому, если вы можете опубликовать любой пример кода, это будет лучше.

2 Ответов

Рейтинг:
1
Рейтинг:
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-страницами и т. д.) и контроллером.