【发布时间】:2012-11-08 07:44:53
【问题描述】:
在我们的 SharePoint 项目中,我们有一个页面布局,用户可以在其中在编辑模式下设置自定义复选框(“显示为新闻”)。现在我们的客户询问我们是否可以将此复选框设置为默认选中。
复选框在布局页面中实现为<SharePointWebControls:BooleanField>,在站点列定义中具有对应的<Field Type="Boolean">。
我尝试将<Default>1</Default> 添加到站点列定义中,并通过 SiteSettings 更改站点列的默认值,这很有效,并且该复选框默认显示为选中新页面。但是,我们还有其他布局也使用该字段(相同的内容类型),并且我们不希望默认检查其值。
所以,我的想法是在创建页面时在事件接收器中设置字段值。接收器被正确调用并且该项目可用,但是我似乎无法找到一种方法来从通过事件属性获得的项目确定页面布局。我尝试通过字段item["PublishingPageLayout"] 直接访问布局,也尝试将页面获取为PublishingPage,然后调用publishingPage.Layout.Name,但在这两种情况下,布局都没有可用值(null)。
如果有人能提出另一种方法来找出布局,我会很高兴。或者也许完全是其他方式来实现我想要的。
【问题讨论】:
标签: c# sharepoint