Sharepoint: отправьте данные формы из формы редактирования, а затем перенаправьте на отображаемую форму

Это для настраиваемого Editform.aspx, используемого для отправки данных в настраиваемый список. После того, как пользователь заполнит форму, он должен иметь возможность нажать кнопку или даже кнопку ОК, и sharepoint отправит данные формы в список, а затем перенаправит на форму отображения элементов (dispform.aspx? ID = 'itemid') . Мне удалось получить идентификатор текущего элемента, манипулируя document.location.href. Я попытался выполнить обратную передачу в javascript, используя __doPostBack с __commit и __redirect (перенаправление на URL-адрес displayform? ID = 'itemid'), но когда происходит перенаправление, я вижу, что изменения не были обновлены!

Кто-нибудь может сделать что-то подобное?


person Alarius    schedule 12.11.2009    source источник


Ответы (2)


Вы можете настроить перенаправление формы в любое место после ее публикации, изменив URL-адрес в параметре Source querystring. Используя javascript, вы можете искать определенный URL-адрес (/location/dispform.asp?ID=) в этом параметре строки запроса и, если он не существует, перенаправить страницу на себя, но с параметром Source, заполненным в местоположение w / ID, на который вы хотите их отправить.

Самая сложная часть будет анализировать текущий URL + параметры в javascript. Я нашел несколько фрагментов JS-кода, которые значительно упрощают задачу.

Одним из преимуществ переписывания URL-адреса EditForm таким образом является то, что кнопка «Отмена» отправляет пользователя на страницу DispForm вместо того, откуда он изначально пришел, хотя большинство людей, вероятно, используют кнопку «Назад».

person UrbanDude    schedule 13.11.2009
comment
Я даже не рассматривал параметр Source !! Я попробую и расскажу, как все пойдет !! :) Спасибо!! - person Alarius; 13.11.2009

Это привело меня к решению моей проблемы с действием формы на моем DispForm, которое не переносило бы идентификатор элемента списка в пользовательский EditForm. В итоге у меня сработало следующее:

onclick="javascript: {ddwrt:GenFireServerEvent(concat('__redirect={ProgEditForm.aspx?ID=+',$ListItemId,'}'))}"

Где у меня есть параметр DispForm для ListItemID с

Источник параметра: строка запроса
переменная строки запроса: идентификатор
значение по умолчанию: 0

Надеюсь, это поможет кому-то другому, так как это чуть не сводило меня с ума!

person LynnJ    schedule 19.08.2015