我正在我公司网站上构建一个用于员工信息的SharePoint(MOSS)发布网站。我有一个员工内容类型,正在使用“联系电子邮件地址网站”列来存储员工的电子邮件地址。

我想要的是能够在运行时编码电子邮件地址的能力,以防止垃圾邮件发送者收获真实的电子邮件地址。当用户单击电子邮件超链接时,这将被解码,例如,以下HTML将发送到浏览器:

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

我已经有了用于从上面的毫无意义的字符串中编码/解码文本值的JavaScript方法,但是不太确定如何使用SharePoint对此进行牢记。我在想自定义控件和/或自定义的j Query?

任何帮助将非常感激!

乔尼

有帮助吗?

解决方案

在您无法将用户放入广告中的情况下 自定义字段控制 将使您能够包括所需的自定义渲染(jQuery)以及作为“正常”文本输入数据的能力。

自定义字段曾经在需要显示该字段的任何位置定义“ Just just Work”。

鉴于您正在考虑使用jQuery,因此问题将成为确保在需要我们的字段时正确链接jQuery库的问题之一。

其他提示

如果您使那些员工的网站成员,SharePoint会解决这个问题。

您可以将电子邮件发送给他们,但是只有在发送时间添加一个按钮给某人发送电子邮件时,电子邮件地址才会使用,它不会显示电子邮件地址,该电子邮件地址在后端处理。

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

alt text
(资源: msdn.com)

您可以尝试的另外两种选项/方法:

(1)实现自定义的TextField控件,从Microsoft.sharepoint.webcontrols.textfield和Override Renderfieldfordisplay继承

然后在代码中 - 编码显示字段以进行显示。

将此控件添加到SAFECORTOLS中,并代替Pagelayout中普通的Textfield。

(2)使用现有的TextField控件,但使用jQuery在EditMode中的TextField旁边注入一个按钮[ENCODE]。

使用JavaScript编码方法来编码用户输入的内容中的内容,以替换现有的TextField值。然后他们可以将其保存到SharePoint中。


我会根据您的部署方案对方法进行评分 - NAT的方法是最干净,但可能更涉及部署,而仅JQuery的方法似乎很容易,但在部署方面很容易。覆盖文本方法可能会位于中间的某个地方。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top