“移动”列表列到SharePoint 2010中的网站列

时间:2013-05-01 19:59:38

标签: sharepoint

SharePoint安装中的一个用户创建了一些列作为列表列,现在需要在站点级别使用这些列,因此我们必须以某种方式“提升”或“移动”它们。我认为这可能与SourceId属性有关,但不知道其余的。

感谢任何建议,谢谢

1 个答案:

答案 0 :(得分:1)

根据我自己对此主题的研究,您似乎应将网站另存为模板,然后将模板导入Visual Studio。

https://sharepoint.stackexchange.com/questions/30045/importing-custom-list-to-visual-studio-from-sharepoint

https://sharepoint.stackexchange.com/questions/14805/export-a-list-from-sharepoint-2010-into-visual-studio-2010

如果网站太大而无法另存为网站模板,请将列表另存为列表模板。对于列表模板,您将获得一个*.stp文件,该文件只不过是一个Microsoft cabinet文件 - 因此将扩展名更改为*.cab,您可以从manifest.xml中提取manifest.xml文件出租车。在<ListTemplate WebUrl="http://host/sites/site"> <Details> ... </Details> <Files> ... </Files> <UserLists> <List Name="{guid}" ...> <MetaData> <Views> ... </Views> <Fields> <Field Type="Text" Name="MyField1" DisplayName="My Field 1" ID="{guid-1}" ... > ... </Field> <Field Type="Note" Name="MyField2" DisplayName="My Field 2" ID="{guid-2" ... > ... </Field> <Field Type="Status" Name="MyField3" DisplayName="My Field 3" ID="{guid-3}" ... > ... </Field> <Field Type="URL" Name="MyField4" DisplayName="My Field 4" ID="{guid-4}" ... > ... </Field> </Fields> <ContentTypes> ... </ContentTypes> <Forms> ... </Forms> ... </MetaData> </List> </UserLists> </ListTemplate> 内,您可以找到列表列的定义。

Import list template STP file to Visual Studio 2010

在manifest.xsf文件中,从* .cab(从* .stp重命名)中提取,你可以找到这样的字段定义:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">  
  <Field
       ID="{abd3b925-1e2c-4423-8e9b-7a861be38917}"
       Name="SiteColumn1"
       DisplayName="Site Column 1"
       Type="Text"
       Required="FALSE"
       Group="Custom Site Columns">
  </Field>
</Elements>

在Visual Studio SharePoint项目中,可以将列表字段定义从其源文件复制并粘贴到SharePoint站点列“elements.xml”文件中。

Field

只需将Visual Studio的Site Column模板中的默认<?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Field Type="Text" Name="MyField1" DisplayName="My Field 1" ID="{guid-1}" ... > ... </Field> </Elements> 元素替换为列表中的字段定义。

{{1}}

一旦您要移动的所有字段都作为单独的站点列在项目中,请编译并部署项目以将站点列放入您的站点。