Domino系统中B/S下附件链接的处理方法

来源:互联网 发布:淘宝刺客电玩良心店 编辑:程序博客网 时间:2024/06/05 14:46
Domino系统中B/S下附件链接的处理方法

B/S下Domino系统自带的附件链接都放在页面的最下面,给整个页面的排版、布局带来影响。

解决办法:
在B/S下,一般附件的处理方法是,在表单上加域$V2AttachmentOptions,设置其值为0,从而隐藏系统默认的附件链接,然后象下面这样自己写链接

一、只读情况下的链接

CODE:
thisDb:=@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName;-1);" ";"+");"//";"/");
@If(@Attachments!=0;"[<a href=/"/"+thisDb+"/0/"+@Text(@DocumentUniqueID)+"/$FILE/"+@AttachmentNames+"/" target=/"_blank/">"+@AttachmentNames+"</a>]";"")

二、包含选择框供用户删除时的链接

CODE:
thisDb:=@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName;-1);" ";"+");"//";"/");
@If(@Attachments!=0;"[<INPUT TYPE=checkbox NAME=/"%%Detach.1/" VALUE=/""+@AttachmentNames+"/"><a href=/"/"+thisDb+"/0/"+@Text(@DocumentUniqueID)+"/$FILE/"+@AttachmentNames+"/" target=/"_blank/">"+@AttachmentNames+"</a>]";"")

但是,当附件名称中包含“#”、“&”等特殊符号时,上面写的链接在特殊符号处就会被截断,从而导致附件不能正常打开。要解决这个问题,需要在写链接的时候把这些特殊符号进行转换,具体方法如下:

CODE:
thisDb:=@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName;-1);" ";"+");"//";"/");
aa:=@URLEncode("domino";@AttachmentNames);
@If(@Attachments!=0;"[<a href=/"/"+thisDb+"/0/"+@Text(@DocumentUniqueID)+"/$FILE/"+aa+"/" target=/"_blank/">"+@AttachmentNames+"</a>]";"")