生成超链接在Sharepoint

问题描述:

我有一个基于SQL表像这样产生SharePoint中的超链接:生成超链接在Sharepoint

+----+----------------------------+ 
| ID | path      | 
+----+----------------------------+ 
| 1 | file://test/9932323.pdf | 
+----+----------------------------+ 
| 2 | file://test/1653156423.pdf | 
+----+----------------------------+ 

其实有这个代码来生成HTML链接:

<a href="{$thisNode/@PATH}"><asp:Label runat="server" id="ff1{$ID}" text="{$thisNode/@PATH}" /></a> 

我不能修改SQL表(dinamically生成),但我必须替换:

/test/ with /test.abc.local/ 

显示为文件名只文本(“路径”栏子最后后“/”)

我怎样才能到,如果没有创造新的视图或计算字段?

我试着用:

<a href="{REPLACE($thisNode/@PATH),12,1,'.abc.local/')}"><asp:L ... 

,但没有成功。 (我真的在Sharepoint新手)

感谢

我不打算删除先前的答案,因为它仍然有效,如果有人遇到同一问题,它非常方便,所以RegEx( )你会有这样的事情:

/(file\:\/\/)/g 

使用上面的表达式,你可以找到你想要的字符串,所以下面的例子给你所有标签页上,并从那里你可以使用以下命令:

.replace(new RegExp("/(file\:\/\/test)","gm"),"/test.abc.local") 

使用上面的表达式,你可以找到字符串你想要的,所以下面的例子给你一个网页上的所有标签,并从那里你可以使用以下命令:

$('input[type=text]').each(
    function(index) 
    { 
     console.log(' text: ' + $(this).val() + ' replace: ' + $(this).val().replace(new RegExp("(file\:\/\/test)","gm"),"/test.abc.local")); 
    } 
); 
+0

有一个ty po我的jquery(),我确实使用$('input [type = text]'),实际上你不应该使用它,这将捕获编辑框,对于标签,将'input'替换为'label' –

如果我理解正确你的问题,我强烈建议你使用正则表达式(),它可能是有史以来处理字符串找到最方便的事情/替代。

您可以将JavaScript函数的网页上执行<script language="javascript"></script>内的正则表达式()替代,那么你<asp:label>你将取代输出通过PATH传递字符串@ thisNode/@给JavaScript调用这个函数你会发现并替换所需输出的子字符串

+0

也许这是一个很好的解决方案,但它太先进了我添加JavaScript来产生一个SharePoint page .. – sunlight76

+0

这很简单,我会给你一个样本作为你的问题的另一个答案 –