Есть несколько способов сделать это.Один из способов, который я мог бы предложить, - это создать на стороне клиента представление всей модели, которую вы хотите сохранить, что в основном будет представлением вашей модели в формате JSON.
Затем можно использовать привязку сервера для источника данных.(поскольку это звучит так, как будто вы еще ни к чему не привязывались), добавьте обработчик событий клиента для события OnSave.В этом случае вы можете получить введенные значения и сопоставить их с экземпляром JSON модели контакта.
Затем, когда вы нажмете какую-нибудь кнопку сохранения, вы можете отправить эту модель JSON в метод AJAX, чтобыфактически сохраните всю вашу модель.
<%= Html.Telerik()
.Grid<EditableContact>()
.Events(events => events.OnSave('contacts_OnSave')
// rest of your grid configuration
.Render();
%>
<script type="text/javascript">
var model = {
Name:'',
// etc.
Contacts = []
};
function contacts_onSave(e) {
model.Contacts.push(e.values);
e.preventDefault(); // prevent the grid from trying to post the new record, since we'll handle it later
}
$(function() {
$('form').submit(function(e) {
model.Name = $('#Name').val();
$.post('url/to/save', model, function() { alert('Saved successfully!'); });
});
});
</script>
Это, конечно, довольно грубый пример, который можно оптимизировать лучше, но я хочу проиллюстрировать идею получения значений, которые они вставили из сетки, и их использования.потом.Вы, конечно, могли бы с помощью обработчика OnSave создать кучу скрытых входных данных, чтобы сделать эту страницу более POST-совместимой и позволить вам использовать $.fn.serialize
, но я оставлю это вам.