2009-07-15 1 views
1

У меня есть простая DataFormWebPart, где я использую XSLT для визуализации содержимого списка. Я хочу, чтобы сравнить @author полю каждого элемента списка для текущего пользователя, однако следующий не будет вычисляться верно:Сравнить Author to UserID в SharePoint XSLT

в заголовке XSL:

<xsl:param name="UserID" /> 

и в шаблоне, который оценивает строки:

<xsl:value-of select="@Author" /> 
<xsl:if test="@AuthorID = $UserID">(you)</xsl:if> 

у меня есть значения для обоих @author и $ UserID:

  • @author штукатурок, как ах yperlink к их профилю пользователя
  • $ UserID отображает как тот же текст, но без гиперссылки.

Какое выражение можно использовать для получения значения гиперссылки для профиля пользователя?

+0

Можете ли вы опубликовать примеры того, что содержимое '@ Author' и' $ UserID 'выглядят? –

+0

@Author = Last Name, First $ UserId = Last Name, First – bryanbcook

ответ

1

Найдено быстрый выигрыш:

<xsl:value-of select="contains(@Author,concat('&gt;',$UserID,'&lt;'))" /> 
+0

Если формат действительно так, как вы описываете, это как можно ближе. +1 – Tomalak

1

Если обратиться

https://sharepoint.stackexchange.com/questions/21202/custom-form-does-not-display-created-by-value

<tr> 
<td valign="top" class="ms-formlabel"><nobr>Created by</nobr></td> 
<td valign="top" class="ms-formbody"> 
    <SharePoint:CreatedModifiedInfo ControlMode="Display" runat="server"> 
    <CustomTemplate> 
     <SharePoint:FormField FieldName="Author" runat="server" ControlMode="Display" DisableInputFieldLabel="true" /><br/> 
     <SharePoint:FieldValue FieldName="Modified" runat="server" ControlMode="Display" DisableInputFieldLabel="true"/> 
    </CustomTemplate> 
    </SharePoint:CreatedModifiedInfo> 
</td>