生成超链接在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"));
}
);
如果我理解正确你的问题,我强烈建议你使用正则表达式(),它可能是有史以来处理字符串找到最方便的事情/替代。
您可以将JavaScript函数的网页上执行<script language="javascript"></script>
内的正则表达式()替代,那么你<asp:label>
你将取代输出通过PATH传递字符串@ thisNode/@给JavaScript调用这个函数你会发现并替换所需输出的子字符串
也许这是一个很好的解决方案,但它太先进了我添加JavaScript来产生一个SharePoint page .. – sunlight76
这很简单,我会给你一个样本作为你的问题的另一个答案 –
有一个ty po我的jquery(),我确实使用$('input [type = text]'),实际上你不应该使用它,这将捕获编辑框,对于标签,将'input'替换为'label' –