Как я могу перенаправить на пользовательские страницы, когда пользователь нажимает Создать / Изменить / Показать в списке SharePoint - PullRequest
0 голосов
/ 24 марта 2020

Мы заменяем формы для наших списков на формы, созданные с помощью SPFx. Создание и развертывание формы не проблема. Проблема заключается в перенаправлении элементов управления формы в эту форму (когда пользователь открывает элемент или нажимает новый, и т. Д. c ...). Есть ли рекомендуемый метод для достижения этой цели? Я успешно использовал два метода, но оба они кажутся нестабильными и хакерскими. Первая - это замена всего кода формы с помощью конструктора SharePoint. Например, новый код формы будет

<%@ Page language="C#" %>
<html lang="en">
<head>
<script type="text/javascript">
    const list = window.location.href;
    const site = list.substring(0,list.toLowerCase().indexOf('/lists/'));
    window.location.replace(site + "/SitePages/MyListForm.aspx");
</script>
</head>
<body>
</body>
</html>

Это иногда работает ... При сохранении код формы, похоже, восстанавливает код формы, но перенаправление все еще работает. Однако, если я снова открою и сохраню код, все сломается, и действие списка вернется к значению по умолчанию (при нажатии на новый теперь будет отображаться вызов «Новый элемент» вместо направления на форму). Другой метод - это открытие новой формы / редактирования / отображения в браузере с параметром? Toolpaneview = 2, который позволяет мне добавить веб-часть сценария на страницу (хотя она не любит сохранять) и добавить перенаправление сценария.

<script type="text/javascript">
    const list = window.location.href;
    const site = list.substring(0,list.toLowerCase().indexOf('/lists/'));
    window.location.replace(site + "/SitePages/MyListForm.aspx");
</script>

это кажется менее изменчивым, чем первый метод, но все же кажется хакерским. Если я удаляю исходную веб-часть формы, форма разрывается и действия списка снова возвращаются к значениям по умолчанию. Редактирование сценария требует посещения формы со значением «content = 1», чтобы удалить веб-часть сценария, а затем мне нужно снова добавить его, используя метод toolpaneview. Чтобы даже сохранить изменение веб-части, я должен нажать «Редактировать веб-часть», что, в свою очередь, сохранит ее. Нет простого действия «Сохранить», которое снова заставляет меня чувствовать, что этот метод не предназначен для выполнения. Есть ли какой-либо рекомендуемый способ выполнения этих перенаправлений? Я нашел много или обучающие материалы онлайн о настройке формы списка, но ничего об этом важном шаге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...