문제

회사 웹 사이트에서 직원 정보를위한 SharePoint (MOSS) 게시 사이트를 작성하고 있습니다. 직원 컨텐츠 유형이 있고 연락처 이메일 주소 사이트 열을 사용하여 직원의 이메일 주소를 저장하고 있습니다.

원한다는 것은 런타임에 이메일 주소를 인코딩하여 실제 이메일 주소가 스패머에 의해 수확되는 것을 방지하는 능력입니다. 사용자가 이메일 하이퍼 링크를 클릭하면 해독 될 예정입니다. 예를 들어 다음 HTML은 브라우저로 전송됩니다.

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

위의 의미없는 문자열에서 텍스트 값을 인코딩/디코딩하기위한 JavaScript 방법이 이미 있지만 SharePoint를 염두에두고 접근하는 방법은 확실하지 않습니다. 맞춤 제어 및/또는 사용자 정의 J- 쿼리를 생각하고 있습니까?

어떤 도움이든 대단히 감사하겠습니다!

조니

도움이 되었습니까?

해결책

사용자를 광고에 넣을 수없는 경우 맞춤형 필드 제어 필요한 사용자 정의 렌더링 (jQuery)을 포함 할 수 있으며 데이터를 "일반"텍스트로 입력 할 수있는 기능을 제공합니다.

한 번 정의 된 "그냥 작동"한 번에 필드를 표시 해야하는 사용자 정의 필드.

jQuery를 사용하려는 생각을 감안할 때 문제는이 유형의 필드를 필요로 할 때마다 jQuery 라이브러리가 올바르게 연결되도록하는 것의 하나가됩니다.

다른 팁

해당 직원이 사이트의 구성원을 만들면 SharePoint 가이 문제를 처리합니다.

이메일을 보낼 수 있지만 이메일 주소는 보내기 시간에만 사용됩니다.

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

alt text
(원천: msdn.com)

시도 할 수있는 두 가지 옵션/접근 방식 :

그런 다음 코드에서 - 디스플레이를 위해 필드를 인코딩합니다.

이 컨트롤을 Safecontrols에 추가하고 Pagelayout의 일반 텍스트 필드 대신에 사용하십시오.

(2) 기존 텍스트 필드 컨트롤을 사용하지만 editMode의 텍스트 필드 옆에 jQuery를 사용하여 [Encode]를 주입하십시오.

JavaScript Encode 메소드를 사용하여 사용자가 인코딩 된 값으로 입력 한 내용을 인코딩하여 기존 텍스트 필드 값을 대체합니다. 그런 다음 SharePoint로 저장할 수 있습니다.


배포 시나리오를 기반으로 접근 방식을 평가할 것입니다. NAT의 One은 가장 깨끗하지만 배포에 더 많은 관여하고 있으며 jQuery 전용은 매우 해킹되지만 배포에 쉽게 보입니다. Override Textfield 접근법은 아마도 중간 어딘가에있을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top