게시 페이지를 기능의 일부로 제공하고 단일 목록보기 웹 파트를 페이지에 배치합니다 (아래 코드 참조). 이 모든 것이 완벽하게 작동합니다.SharePoint 2010 : 중복 적용 기능을 페이지에 추가합니다.
<Elements>
<Module>
<File Path="default.aspx" Url="BulletinBoard.aspx" Type="GhostableInLibrary" IgnoreIfAlreadyExists="TRUE">
<Property Name="Title" Value="Bulletin Board" />
<Property Name="PublishingPageLayout" Value="~SiteCollection/_catalogs/masterpage/ListNewsletterStyle.aspx" />
<Property Name="ContentType" Value="Page" />
<Property Name="PublishingPageImage" Value="" />
<View List="Lists/BulletinBoard" BaseViewID="2" WebPartZoneID="Main" WebPartOrder="1">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Microsoft.SharePoint.WebPartPages.XsltListViewWebPart,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title">Active Announcements</property>
<property name="ChromeType">None</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</View>
</File>
</Module>
</Elements>
유일한 문제는 Visual Studio를 통해 내 기능을 재배치 때마다, 목록보기 웹 파트 (즉, 다른 하나는 웹 파트 영역에 추가됩니다) 중복된다는 점이다.
이 문제 만 은 <보기 ... > 태그가있는 웹 부품에 영향을 미치기 위해으로 표시됩니다. < AllUsersWebPart ... > 태그가 제공된 웹 파트가 복제되지 않습니다.
어떻게 방지합니까?
Anita님께 감사드립니다. 필자는 일관성을 위해 모든 페이지와 웹 파트를 동일한 장소 (기능 XML을 통해)에 제공하기를 원했지만 기능 수신자를 사용하여 중복 된 부분을 확인하고 필요한 경우 제거 할 수있었습니다. "태그"참조에 대해서는 StackOverFlow가 내 HTML 마크 업을 게시물에 포함시키지 않았습니다. 위의 업데이트를 참조하십시오. –