Its settings
A new ActionLink arrives pre-bound to the Item — label from
{{item.name}}, description from
{{item.description}}, icon from {{item.image}} — and with a placeholder Link URL that points at
a field most Collections do not have. So a freshly added ActionLink is normally invisible until you
give it a real URL, which is the behavior described next, not a bug.
It hides itself rather than showing a broken button
If any binding in the Link URL cannot be resolved, the whole ActionLink is removed from the page. Same if the URL resolves to nothing but whitespace. A machine with no serial number simply does not show the “Open in the CMMS” button, instead of showing a button that leads to a 404. This is specific to ActionLink. Button and Link sections do not do it — they will happily render a dead control. In the editor, a hidden ActionLink is not invisible: it stays on the canvas with a dimmed orange outline so you can see it and fix the missing field. Switch on Preview and it disappears, the same as it would for a real visitor. Two consequences worth planning for:- A partially filled Collection will show different numbers of buttons on different Items. That is usually what you want, and it is the reason to bind the URL rather than hardcode it.
- The Item field the URL depends on is the thing to check first when a button “vanishes.” Step through Items with the preview selector to see which ones come up short — see Previewing a Page.
Values are inserted exactly as stored
There is no automatic URL encoding. A field value containing a space, an& or a ? is dropped
into the URL as-is and will break the link — the button appears, it just goes somewhere wrong. If
you are building a query string from free-text fields, keep the values URL-safe at the source. The
full rules are in Field Bindings & URL Templates.
Link URLs are also checked for script-executing schemes before rendering. A javascript: or
data: URL is neutralized rather than made clickable, whether you typed it or a field supplied it.