SharePoint Publishing сайт по электронной почте кодировка/декодирование

StackOverflow https://stackoverflow.com/questions/559281

Вопрос

Я строю издательский сайт SharePoint (MOSS) для информации о сотруднике на веб -сайте моей компании. У меня есть тип контента сотрудника, и я использую столбец сайта Contact E-Mail Address для хранения адреса электронной почты сотрудника.

Хочу, что мне нравится, - это возможность кодировать адреса электронной почты во время выполнения, чтобы предотвратить собранные спамеры реального адреса электронной почты. Это будет декодировано, когда пользователь нажимает на гиперссылку по электронной почте, например, следующее HTML будет отправлен в браузер:

<a href="javascript:sendEmail('5237952A6F67618E407373772E6063212E6175')">Email Jonny</a>

У меня уже есть методы JavaScript для кодирования/декодирования текстового значения из бессмысленной строки выше, но я не слишком уверен в том, как подходить к этому с учетом SharePoint. Я думаю о пользовательском управлении и/или пользовательской J-Query?

Любая помощь приветствуется!

Джонни

Это было полезно?

Решение

В случае, если вы не можете поместить пользователей в объявление, Пользовательский полевой элемент управления Даст вам возможность включить пользовательский рендеринг (jQuery), который вам требуется, а также возможность вводить данные как «нормальный» текст.

Пользовательское поле, когда -то определенное «просто работает», где бы вам нужно отобразить поле.

Учитывая, что вы думаете об использовании jQuery, проблема становится тем, чтобы убедиться, что библиотека jQuery правильно связана, когда вам нужно для нас поле такого типа.

Другие советы

Если вы сделаете этих сотрудников сайта, SharePoint позаботится об этой проблеме.

Вы можете отправить им электронные письма, но адрес электронной почты будет использоваться только при отправке, когда вы добавите кнопку, чтобы отправить кому -то электронное письмо, он не будет отображать адрес электронной почты, его обрабатывается на бэкэнд.

SPUtility.SendEmail(SPContext.Current.Web, false, false,
[SPUser.Email][1], "E-mail title",
"E-mail body");

alt text
(источник: msdn.com)

Еще два варианта/подходов, которые вы можете попробовать:

(1) Реализовать пользовательское управление текстовым полетом, наследственное от microsoft.sharepoint.webcontrols.textfield и переопределить renderfieldfordisplay.

Затем в коде - кодируйте поле для отображения.

Добавьте этот контроль в SafeControls и используйте его вместо обычного текстового поля в Pagelayout.

(2) Используйте существующий элемент управления Textfield, но введите кнопку [Encode], используя jQuery рядом с Textfield в EditMode.

Используйте метод Encode JavaScript, чтобы кодировать то, что пользователь набрал в кодируемое значение, заменив существующее значение Textfield. Который они могут затем сохранить в SharePoint.


Я бы оценил подходы, основанные на вашем сценарии развертывания - Nat's One - самый чистый, но, вероятно, более вовлеченным для развертывания, и только JQuery только кажется очень хакерским, но простым при развертывании. Подход переопределения текстового поля, вероятно, будет сидеть где -то посередине.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top