Мы заменяем формы для наших списков на формы, созданные с помощью 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. Чтобы даже сохранить изменение веб-части, я должен нажать «Редактировать веб-часть», что, в свою очередь, сохранит ее. Нет простого действия «Сохранить», которое снова заставляет меня чувствовать, что этот метод не предназначен для выполнения. Есть ли какой-либо рекомендуемый способ выполнения этих перенаправлений? Я нашел много или обучающие материалы онлайн о настройке формы списка, но ничего об этом важном шаге.