2012-01-31 6 views
1

xsl 스타일 시트를 사용하여 메일 본문의 내용을 구성하는 XML 데이터를 가지고 있으며 SPUtility.SendEmail 메서드를 사용하여 메일을 보냅니다. 나는 infopath 양식을 볼 수있는 링크와 작업 양식을 승인/거부하는 링크가 있습니다. infopath 양식 링크가 내 메일에서는 제대로 작동하지만 다른 메일에서는 제대로 작동하지 않습니다. Outlook Web Client에서 "보안이 차단 된 URL"오류가 발생합니다. 내가 복사하고 난 "예기치 않은 오류가 발생했습니다"라는 프롬프트를 브라우저에 URL을 붙여 넣을 때Sharepoint를 사용하여 보낸 메일에서 outlook의 Outlook 오류가 차단되었습니다.

<a title="Approve/Reject" style="color:#b94e0a;text-decoration:underline;"> 
    <xsl:attribute name="href"> 
     <xsl:text>http:/stage/_layouts/WrkTaskIP.aspx?List=91be5c14%2D6eea%2D4223%2D802e%2D7fa28b5d14ba&amp;ID=</xsl:text> 
     <xsl:value-of 
      select="substring-before(/SRWorkflowDetails/SRLevel[level=$level and contains(Approver,$Id)]/URL,';')" 
      disable-output-escaping="yes"/> 
     <xsl:text>&amp;Source=http://stage/_layouts/WrkStat.aspx?List=089f13be%2D3147%2D4818%2Da30e%2Da332cb63195d&amp;WorkflowInstanceID=</xsl:text> 
     <xsl:value-of 
      select="substring-after(/SRWorkflowDetails/SRLevel[level=$level and contains(Approver,$Id)]/URL,';')" 
      disable-output-escaping="yes"/> 
    </xsl:attribute> 
    Approve/Reject 
</a> 

출력 형식의 링크가

<a 
    title="Approve/Reject" 
    style="color:#b94e0a;text-decoration:underline;" 
    href="http:/stage/_layouts/WrkTaskIP.aspx?List=91be5c14%2D6eea%2D4223%2D802e%2D7fa28b5d14ba&amp;ID=35&amp;Source=http://stage/_layouts/WrkStat.aspx?List=089f13be%2D3147%2D4818%2Da30e%2Da332cb63195d&amp;WorkflowInstanceID=11e09c76-29ec-4c7f-ace3-ad7a8c9e7b44"> 
    Approve/Reject 
</a> 

이다, 그럼 내가 브라우저에서 &로 &amp; 교체 , 나는 내 양식을 올바르게 열었습니다.

Outlook에서이 구문 분석 문제가 있습니까? &amp;이있는 다른 링크는 나를 위해 작동합니까 ??

답변

0

시도 비활성화 출력 - 탈출 XSL에 추가 : 텍스트 요소를 :

<a title="Approve/Reject" style="color:#b94e0a;text-decoration:underline;"> 
    <xsl:attribute name="href"> 
    <xsl:text disable-output-escaping="yes">http:/stage/_layouts/WrkTaskIP.aspx?List=91be5c14%2D6eea%2D4223%2D802e%2D7fa28b5d14ba&amp;ID=</xsl:text> 
    <xsl:value-of 
     select="substring-before(/SRWorkflowDetails/SRLevel[level=$level and contains(Approver,$Id)]/URL,';')" 
     disable-output-escaping="yes"/> 
    <xsl:text disable-output-escaping="yes">&amp;Source=http://stage/_layouts/WrkStat.aspx?List=089f13be%2D3147%2D4818%2Da30e%2Da332cb63195d&amp;WorkflowInstanceID=</xsl:text> 
    <xsl:value-of 
     select="substring-after(/SRWorkflowDetails/SRLevel[level=$level and contains(Approver,$Id)]/URL,';')" 
     disable-output-escaping="yes"/> 
    </xsl:attribute> 
    Approve/Reject 
</a> 

또는 XSL 페지 시도 : 텍스트 요소 :

<a title="Approve/Reject" style="color:#b94e0a;text-decoration:underline;"> 
    <xsl:attribute name="href"> 
    http:/stage/_layouts/WrkTaskIP.aspx?List=91be5c14%2D6eea%2D4223%2D802e%2D7fa28b5d14ba&amp;ID=<xsl:value-of 
     select="substring-before(/SRWorkflowDetails/SRLevel[level=$level and contains(Approver,$Id)]/URL,';')" 
     disable-output-escaping="yes"/>&amp;Source=http://stage/_layouts/WrkStat.aspx?List=089f13be%2D3147%2D4818%2Da30e%2Da332cb63195d&amp;WorkflowInstanceID=<xsl:value-of 
     select="substring-after(/SRWorkflowDetails/SRLevel[level=$level and contains(Approver,$Id)]/URL,';')" 
     disable-output-escaping="yes"/> 
    </xsl:attribute> 
    Approve/Reject 
</a> 

그 작품의도가 시도하는 경우 How to disable output escaping for an attribute?에 설명 된 해결 방법

+0

감사합니다! 이 시도해 보자 ... 그리고 만약 내가 데스크톱 Outlook 클라이언트 응용 프로그램을 사용하면 어떤 문제가 없다. 링크가 잘 작동하지만 Outlook 웹 클라이언트에서는 작동하지 않습니다. – Shankar

관련 문제