SharePoint 替换DispForm.aspx

憋了两天终于整出来了,痛快啊哭~~大笑~~~

在SharePoint中每个列表都会生成四个文件:AllItems.aspx、NewForm.aspx、EditForm.aspx、DispForm.aspx。不得不说Moss很强大,但是很多时候DispForm.aspx都不满足我们的需求,需要我们按照客户的需要重新定制。定制列表项的详细页面一般都两种:第一,直接在SharePoint Designer中修改DispForm,设计成我们需要的样式;第二,自定义DispFrom页面,然后替换moss自带的。

因为时间关系,我采用的是第二种,个人感觉比较简单(因为.net比较熟嘛)。

首先我们要重写一个DispFrom.aspx页面,其实名字无所谓的,随便命名,为了区别起见我们命名成DisplayForm.aspx

其次,将文件放在layouts文件夹下。

接下来是比较重要的了,

1)在SharePoint Designer中打开网站--Lists---需要替换详细页面的list---AllItems.aspx

2)选择AllItems.aspx的<webpartpages:webpartlistviewwebpart>,选择【转换为XSLT数据视图】。

3)找到标题对应的代码

<xsl:otherwise><a onfocus="OnLink(this)" href="{$URL_Display}?ID={@ID}" onclick="GoToPage('{$URL_Display}?ID={@ID}');return false;" target="_self"><xsl:value-of disable-output-escaping="no" select="@Title" />


其中{$URL_Display}是DispFrom.aspx的默认路径,将其替换为你在Layouts下的详细页面的路径,添加&amp;List={$List}参数,$List的值是当前List的ID值

修改后代码如下

	<xsl:otherwise><a onfocus="OnLink(this)" href="/_layouts/zhongsoft/pages/DisPlayForm.aspx?ID={@ID}&List={$List}" onclick="GoToPage('/_layouts/zhongsoft/pages/DisPlayForm.aspx?ID={@ID}&List={$List}');return false;" target="_self"><xsl:value-of disable-output-escaping="no" select="@Title" />
			

保存,重启IIS,ok了。
是不是很简单呢?!

你可能感兴趣的:(list,url,IIS,XSL,SharePoint,XSLT)