Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有方法检测ItemAdded事件中的页面布局?_C#_Sharepoint - Fatal编程技术网

C# 是否有方法检测ItemAdded事件中的页面布局?

C# 是否有方法检测ItemAdded事件中的页面布局?,c#,sharepoint,C#,Sharepoint,在我们的SharePoint项目中,我们有一个页面布局,用户可以在编辑模式下设置自定义复选框(“显示为新闻”)。现在,我们的客户问我们是否可以将此复选框设置为默认选中 该复选框在布局页面中显示为,在sitecolumns定义中显示为相应的 我尝试将1添加到sitecolumn定义中,并通过SiteSettings更改site列的默认值,这起到了作用,新页面的复选框显示为默认选中状态。但是,我们还有其他布局也使用该字段(相同的内容类型),并且我们不希望按照默认值检查该值 因此,我的想法是在创建页面

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

该复选框在布局页面中显示为
,在sitecolumns定义中显示为相应的

我尝试将
1
添加到sitecolumn定义中,并通过SiteSettings更改site列的默认值,这起到了作用,新页面的复选框显示为默认选中状态。但是,我们还有其他布局也使用该字段(相同的内容类型),并且我们不希望按照默认值检查该值

因此,我的想法是在创建页面时在事件接收器中设置字段值。接收者被正确调用,并且该项可用,但是我似乎找不到一种方法来根据通过事件属性获得的项确定页面布局。我尝试直接通过字段
项[“PublishingPageLayout”]
访问版面,也尝试将页面作为PublishingPage获取,然后调用
PublishingPage.layout.Name
,但在这两种情况下,版面都没有可用值(null)


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

实现你的目标的其他方式:

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


希望这有帮助?

这是一种可能性,我认为这可能也是唯一“干净”的解决方案。关于这个问题,我想了很多,但除了创建一个新的内容类型之外,我看不到任何真正的“好”方法来实现这一点。谢谢