我们有一个 Kentico 13 页面类型字段,带有一个下拉列表表单控件,可查询数据库表以填充列表。
目前,列表预选顶部值,但这不起作用,因为它不是必填字段,所以我想知道是否有办法向下拉列表添加默认的“选择一个”值。
注意事项:
下面是返回适当列表的原始查询。唯一缺少的是默认值。
SELECT t.NodeGUID, t.DocumentName FROM VIEW_CMS_TREE_JOINED t WHERE t.ClassName = 'AscediaRedesign.Industry' ORDER BY t.DocumentName
下面是我们如何设置页面类型字段的屏幕截图(使用上面的 SQL 查询),后面是成功填充下拉列表的另一个屏幕截图:
Kentico 社区的一位成员建议尝试使用 UNION,但我无法让它发挥作用:
SELECT '' as NodeGUID, 'Please Select' as DocumentName UNION SELECT t.NodeGuid, t.DocumentName FROM VIEW_CMS_TREE_JOINED t WHERE t.ClassName = 'AscediaRedesign.Industry'
上述查询会导致以下错误:“引起异常:从字符串转换为 uniqueidentifier 时转换失败。”
尝试以下查询。空白不是有效的 GUID。这就是错误的原因。
SELECT NEWID() as NodeGUID, 'Please Select' as DocumentName UNION ALL SELECT t.NodeGuid, t.DocumentName FROM VIEW_CMS_TREE_JOINED t WHERE t.ClassName = 'AscediaRedesign.Industry'
或
SELECT NULL as NodeGUID, 'Please Select' as DocumentName UNION ALL SELECT t.NodeGuid, t.DocumentName FROM VIEW_CMS_TREE_JOINED t WHERE t.ClassName = 'AscediaRedesign.Industry'