首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Domino B/S 模式附件連結自訂顯示:隱藏預設區塊、支援特殊字元、刪除核取框完整方案

     編輯:關於SqlServer

Domino Web 應用預設將附件連結固定顯示在頁面底部,嚴重干擾版面配置。本文提供 **公式語言** 完整方案:隱藏系統附件區、自訂連結位置、處理特殊字元 (如 `#`、`&`) 編碼、支援刪除核取框,讓附件管理完美融入自訂表單。

核心步驟

  1. 表單新增隱藏欄位 $V2AttachmentOptions,值設為 0 → 隱藏預設附件區
  2. 在需顯示附件處插入 **計算文字** 或 **計算結果欄位**,使用 `@Formula` 動態生成 HTML 連結

方案一:唯讀模式 — 純連結列表

thisDb := @ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1); " "; "+"); "\\"; "/");
@If(@Attachments != "";
    "[" + @AttachmentNames + "]";
    ""
)

方案二:編輯模式 — 含刪除核取框

thisDb := @ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1); " "; "+"); "\\"; "/");
@If(@Attachments != "";
    "[" + @AttachmentNames + "]";
    ""
)

關鍵:`` 告訴 Domino 送出表單時刪除勾選的附件。

方案三:終極版 — 處理特殊字元 (URL 編碼)

附件檔名若含 `#`、`&`、`%`、`空白` 等字元,直接拼接 URL 會截斷或錯誤。必須使用 `@URLEncode` 編碼檔名部分:

thisDb := @ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1); " "; "+"); "\\"; "/");
encodedNames := @URLEncode("domino"; @AttachmentNames);
@If(@Attachments != "";
    "[" + @AttachmentNames + "]";
    ""
)
  • @URLEncode("domino"; ...) 依 Domino 規則編碼 (空白→+,特殊字元→%XX)
  • 顯示文字仍用原始 @AttachmentNames 保持可讀性
  • 適用於唯讀與編輯模式 (編輯模式同理加上核取框)

進階技巧

需求做法
多附件分行顯示用 `@Transform(@AttachmentNames; x; "[" + x + "]")` 迴圈生成,再 `@Implode(..., "
")`
附件圖示依副檔名JS 端解析副檔名對應圖示 CSS Class
限制可上傳類型表單屬性 → Web → "Allowed file types" 設定 MIME 清單
附件上傳大小限制Server 文件 `notes.ini` 設 `HTTPMaxPostSize` 或 Domino 設定文件調整

常見坑點排查

  • ❌ 連結點擊 404 → 檢查 `@DocumentUniqueID` 是否正確、資料庫路徑 `thisDb` 是否含特殊字元需編碼
  • ❌ 中文檔名亂碼 → 確認 `@URLEncode` 已套用、Domino 伺服器 `Domino_URL_Encoding` 設定一致
  • ❌ 核取框刪除不生效 → 確認 `
    `、欄位名稱完全為 `%%Detach.1`

掌握這三段公式,即可在任何 Domino Web 表單中優雅、安全、完整地呈現與管理附件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved