有没有办法检测ItemAdded事件中的页面布局?

时间:2012-11-07 12:04:27

标签: c# sharepoint

在我们的SharePoint项目中,我们有一个页面布局,用户可以在编辑模式下设置自定义复选框(“显示为新闻”)。现在,我们的客户询问我们是否可以将此复选框设置为默认选中。

该复选框在布局页面中显示为<SharePointWebControls:BooleanField>,并在sitecolumns定义中显示相应的<Field Type="Boolean">

我尝试在网站列定义中添加<Default>1</Default>,并且通过SiteSettings更改网站列的默认值,这样一来,默认情况下复选框显示为新页面。但是,我们还有其他布局也使用该字段(相同的内容类型),并且我们不希望默认情况下检查该值。

所以,我的想法是在创建页面时在事件接收器中设置字段值。接收器被正确调用并且该项目可用,但是我似乎找不到从我通过事件属性获取的项目来确定页面布局的方法。我尝试直接通过字段item["PublishingPageLayout"]访问布局,并将页面作为PublishingPage,然后调用publishingPage.Layout.Name,但在这两种情况下,布局都没有可用的值(null)。

如果有人能提出另一种方法来找出布局,我会很高兴。或者也许完全是实现我想要的其他方式。

1 个答案:

答案 0 :(得分:1)

实现您想要的其他方式:

根据此内容类型创建新的内容类型。默认情况下,新内容类型将选中复选框,并且仅用于此列表。这样,其他布局不会受到影响,并且可以独立工作。

希望这有帮助吗?

相关问题