Я интегрировал Asp.net MVC с сайтом Sharepoint.Работает отлично.Но я также использую главную страницу Sharepoint по умолчанию (а именно ~masterurl/default.master
).проблема в том, что эта конкретная главная страница имеет целую страницу, обернутую в элемент form
, в то время как все страницы Sharepoint являются обычными страницами Asp.net WebForm.
Мой контент MVC должен иметь свой собственный form
и входэлементы, которые я хотел бы представить на сервер.Ajax-вызовы, очевидно, не , что проблематично.Я не могу использовать $("form").serializeArray()
, если сохраню оригинальный элемент form
.Но тем не менее нормальные обратные передачи проблематичны, так как есть функции WebForm для отправки событий, и они будут отправлять слишком много данных на сервер.
Я буду использовать обычные обратные передачи, а также обратные передачи Ajax. Основная проблема - обычные обратные передачи.
Так что у меня есть две возможности, которые должны работать на $(document).ready()
:
- Удалить элемент формы и сохранить все остальное содержимое как есть.В jQuery это, вероятно, будет означать добавление элемента
form
к div
, перемещение его содержимого в этот div и затем удаление form
. - . Непосредственно измените элемент
form
на div
.Это, вероятно, будет быстрее с точки зрения обработки в браузере, но я не знаю, как это сделать.
Так что, если кто-то может разработать решение для 2. и предоставить некоторую информацию об этих двух возможных решениях: что нужно сделать и почему.
Редактировать
Есть и третий вариант.Я мог бы просто создать свои элементы ввода как необходимые, но заключить их в элемент div
.Когда пользователь захочет отправить мою форму (div
не является формой в любом случае), я мог бы:
- динамически вызвать
$("div.form").serializeArray()
- создать формуэлемент
- заполнить его сериализованными значениями
- добавить форму к телу
- отправить.
Кажется утомительным, но это может сработать.Тем не менее, первые два решения кажутся более простыми.