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>]";"")