我们可以利用Visual Studio2010结合owssvr.dll来找到我们指定的Sharepoint List所使用的Template的ID值。
OWSSVR.DLL实际上是一个在IIS中注册了的ISAPI extension, 它的方法可以直接通过对/_vti_bin/owssvr.dll的Http访问来调用. 许多Office应用程序(Word, Excel, InfoPath, SharePoint Designer等)就是通过对OWSSRV进行直接的http调用才完成于SharePoint服务器之间的远程整合,而此处我们则要用到它来实现寻找Template ID的目的。 具体步骤如下(我们以确定某个WebPart Gallery的List的Template ID为例): 一、使用Visual Studio2010确定List 的ID在Visual Studio的Server explorer,新添加一个SharePoint connection,令此连接指向你的Sharepoint网站,eg .此Server explorer会给你显示出这个Sharepoint Farm的全部结构。虽然其内容是只读的,但对我们而言已足够了。在此结构内,找到我们需要的Sharepoint List(此处是一个Webpart Gallery),显示出它的Properties,在右侧的属性栏,找到ID的值(eg:9f7d064f-d9s8-62f1-8a4f-b02c9f4c259k),Copy下来备用。
二、使用OWSSVR.DLL确定Template 的ID 根据前面取得的List ID,使用OWSSVR来取得其Template的ID,方法是:打开IE,在URL中输入下如下地址(还记得上面Copy的ID吧,把它放在地址的最后面):owssvr.dll
这样,你会取到一个 XML文档,在此文档中你就可以找到你想要的东西了。(如下面XML内容的红色部分)
List Name="{9f7d064f-d9s8-62f1-8a4f-b02c9f4c259k}" Title="Web Part Gallery" Description="Use this Web Part Gallery to store and retrieve Web Parts. The Web Parts in this gallery are available to this site and all sites under it. To preview a Web Part, click its title." Direction="0" BaseType="1" ServerTemplate="113" Url="_catalogs/wp" HiddenList="TRUE" DisableAttachments="TRUE" FolderCreation="FALSE" AlwaysIncludeContent="TRUE" RootWebOnly="TRUE" Catalog="TRUE" AllowDeletion="FALSE" BrowserFileHandling="permissive" NoCrawl="TRUE" Version="1">
- <MetaData> - <Views> + <View Name="{283335B7-DE62-4316-B3EF-14A46B17BF0F}" DefaultView="TRUE" Type="HTML" DisplayName="All Web Parts" Url="_catalogs/wp/Forms/AllItems.aspx" Level="1" BaseViewID="1" ContentTypeID="0x" ToolbarTemplate="WebPartGalleryViewToolBar" ImageUrl="/_layouts/images/wlicon.png">