代码改变世界

sharepoint中控制的content query web part 控件的显示样式的xslt

  Virus-BeautyCode  阅读(423)  评论(0编辑  收藏  举报

 

 

      在SP的开发过程中,有的时候首页需要一些webpart来显示子网站的内容,显示一个标题,可以链接的,还有tooltip的,开始的时候我用content qeury web part ,后来发现他默认只能显示标题,什么时间啊,用户名啊,什么的都不能显示。

      过一段时间发现,我错误了,那个控件还是很强大的,详见微软的官网http://msdn.microsoft.com/en-us/library/bb447557.aspx

      可以定制的,不过是用到处webpart文件,声明要使用的栏目,然后编写xslt,定义显示的格式,可以多列,可以自定义一些东西,不错。

      园子里面已经有很多的文章了,我就不写步骤了。留个标记。

复制代码
<xsl:template name="ForumStyle" match="Row[@Style='ForumStyle']" mode="itemstyle">
        
<xsl:variable name="SafeLinkUrl">
            
<xsl:call-template name="OuterTemplate.GetSafeLink">
                
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
            
</xsl:call-template>
        
</xsl:variable>
        
<xsl:variable name="DisplayTitle">
            
<xsl:call-template name="OuterTemplate.GetTitle">
                
<xsl:with-param name="Title" select="@Title"/>
                
<xsl:with-param name="UrlColumnName" select="'LinkUrl'"/>
            
</xsl:call-template>
        
</xsl:variable>
        
<xsl:variable name="LinkTarget">
            
<xsl:if test="@OpenInNewWindow = 'True'" >_blank</xsl:if>
        
</xsl:variable>
        
<div id="linkitem" class="item link-item">
            
<table >
                   
<tr>
                       
<td width="200px">
                           
<xsl:if test="string-length($DisplayTitle) = 0">
                               
<href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@Title}">
                                    
<xsl:value-of select="$DisplayTitle"/>
                            
</a>
                           
</xsl:if>
                           
<xsl:if test="string-length($DisplayTitle) &lt;= 10">
                               
<href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@Title}">
                                    
<xsl:value-of select="$DisplayTitle"/>
                            
</a>
                           
</xsl:if>
                           
<xsl:if test="string-length($DisplayTitle) &gt; 10">
                               
<href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@Title}">
                                    
<xsl:value-of select="substring($DisplayTitle,1,9)"/>
                            
</a>
                           
</xsl:if>                        
                       
</td>
                       
<td width="100px">
                           
<xsl:value-of select='substring(@Modified,1,4)'></xsl:value-of>
                       
</td>
                       
<td align="right">回复数量:
                           
<xsl:value-of select="@ItemChildCount"/>    
                       
</td>
                   
</tr>
           
</table>
            
        
</div>
    
</xsl:template>
复制代码
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示