设为首页 收藏本站
查看: 1670|回复: 0

[经验分享] SharePoint 2010开发工具图解系列:Visual Studio 2010创建列表

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-25 10:51:56 | 显示全部楼层 |阅读模式
练习 :利用Visual Studio 2010创建列表



在此次练习中,您将利用包括Visual Studio 2010在内的SharePoint开发工具来新建一个SharePoint列表。


  • 在开始此次练习之前,您可能需要运行位于c:\Student\Labs\03_Lists\文件夹中的SetupLab03.bat批处理文件,来新建一个用于测试和调试您将在此次实验中所编写的代码的网站集。该批处理文件将在http://moss.contoso.com/sites/Lab03位置新建一个网站集。
  • 启动Internet Explorer并导航到位于http://moss.contoso.com/sites/Lab03的顶级网站。对该网站稍做观察,并确保其符合预期要求。注意,该设置脚本将新建一个位于顶级的新网站集。
  • 启动Visual Studio 2010,选择文件» 新建项目并使用如下信息,来新建一个空白的SharePoint项目:
    项目类型: 已安装的模板» SharePoint » 2010
    模板: 空白SharePoint项目
    名称: ListsAndSchemas
    DSC0000.png

  • SharePoint 自定义向导中,输入之前步骤创建的网站的URL地址(http://moss.contoso.com/sites/Lab03),来将其作为调试用网站,然后,勾选部署为场解决方案复选框。
    DSC0001.png

  • 首先要为待创建的新列表定义网站栏目和内容类型。要实现该目的,需要向当前项目添加一个新的项目条目。在解决方案资源管理器窗口中,右击ListsAndSchemas项目,并选择添加» 新建项。在SharePoint » 2010模板列表中,选择内容类型,并将其命名为Product。此时,该向导对话框将提示您为新建内容类型指定继承自哪个现有的内容类型。选择项目内容类型。
    DSC0002.png
    DSC0003.png

  • 在创建内容类型之前,首先要创建2个网站栏。在<ContentType>元素的起始位置之前添加如下CAML。注意,您不必使用与如下代码相同的GUID。只要确保一直在使用您自己的GUID即可,因为后面的步骤需要对其进行引用。
    请确保ID=""属性使用大写字母。IntelliSense将试图使用无效的Id=""形式。


    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <Field SourceID="http://schemas.microsoft.com/sharepoint/v3"
             ID="{36819A9B-E748-47D5-9949-A65DD195BF80}"
             Name="ProductDescription"
             DisplayName="Product Description"
             Group="My Custom Columns"
             Type="Text"
             DisplaceOnUpgrade="TRUE" />
      <Field SourceID="http://schemas.microsoft.com/sharepoint/v3"
             ID="{5CD2C0C1-67AC-4F9E-BF21-463CFEE9B382}"
             Name="ProductID"
             DisplayName="Product ID"
             Group="My Custom Columns"
             Type="Number"
             DisplaceOnUpgrade="TRUE" />
    </Elements>
  • 在创建网站栏之后,您就可以将这些栏添加到当前的内容类型。为每个由<ContentType>节点包围的2个栏添加一个包含若干<FieldRef>元素的<FieldRefs>元素,来实现将各个栏添加到当前的内容类型,定义完成的内容类型应该如下CAML所示。确保为ProductDescription 和 ProductID使用正确的GUID,以便可以引用到前一步骤所创建的栏目。


    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <Field SourceID="http://schemas.microsoft.com/sharepoint/v3" />
      <Field SourceID="http://schemas.microsoft.com/sharepoint/v3" />
      <ContentType ID="0x01001586d96f1cb54a19becaf8ee2f193899"
                   Name="Product"
                   Group="我的自定义内容类型"
                   Description="我的Product内容类型"
                   Inherits="TRUE"
                   Version="0">
        <FieldRefs>
          <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}"
                    Name="Title"
                    DisplayName="Product Name" />
          <FieldRef ID="{36819A9B-E748-47D5-9949-A65DD195BF80}"
                    Name="ProductDescription" />
          <FieldRef ID="{5CD2C0C1-67AC-4F9E-BF21-463CFEE9B382}"
                    Name="ProductID" />
        </FieldRefs>
      </ContentType>
    </Elements>
    完成后如下图所示。 DSC0004.png

  • 现在,就可以利用该内容类型来创建列表模板及其实例。在解决方案资源管理器窗口中,右击ListsAndSchemas项目,选择添加&raquo; 新建项,从SharePoint &raquo; 2010列表中选取列表定义模板,并将其命名为ProductList。在随后打开的对话框中,将该列表的名称设置为ProductList,并将列表定义的类型是什么设置为自定义列表,保留为此列表定义添加列表实例复选框的勾选状态。
    DSC0005.png
    DSC0006.png

  • 现在,将对列表的定义(或者叫做:模板)及其架构进行修改。储在ListsAndSchemas解决方案的ListsAndSchemas\ProductList\Elements.xml文件之中的列表定义包含列表模板。将其Type属性从10000 更改为 10001,以为其赋予唯一ID值。


    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
        <ListTemplate
            Name="ProductList"
            Type="10001"
            BaseType="0"
            OnQuickLaunch="TRUE"
            SecurityBits="11"
            Sequence="410"
            DisplayName="ProductList"
            Description=""
            Image="/_layouts/images/itgen.gif"/>
    </Elements>
  • 接下来,打开当前项目的ListsAndSchemas\ProductList区域中的schema.xml文件。该文件包含有关列表的所有详细信息,例如列表中的显示字段、内容类型以及视图。
  • 首先,将EnableContentTypes="TRUE"属性添加到<List>节点。
  • 接下来,将之前创建的内容类型添加到靠近schema.xml文件顶部的<ContentTypes>节中,如下所示:


    <?xml version="1.0" encoding="utf-8"?>
    <List xmlns:ows="Microsoft SharePoint" Title="ProductList" EnableContentTypes="TRUE" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/ListsAndSchemas-ProductList" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
      <MetaData>
        <ContentTypes>
          <ContentTypeRef ID="0x01">
            <Folder TargetName="Item" />
          </ContentTypeRef>
          <ContentTypeRef ID="0x0120" />
          <ContentTypeRef ID="0x01001586d96f1cb54a19becaf8ee2f193899" />
        </ContentTypes>

    .应确保使用与您之前所创建的内容类型相同的内容类型ID
  • 现在,将通过向schema.xml文件中的<Fields>节中添加字段的方式,来将这些字段包含在当前列表中。添加当前内容类型中的3个字段,如下所示:


    <?xml version="1.0" encoding="utf-8"?>
    <List xmlns:ows="Microsoft SharePoint" Title="ProductList" EnableContentTypes="TRUE" FolderCreation="FALSE" Direction="$Resources:Direction;" Url="Lists/ListsAndSchemas-ProductList" BaseType="0" xmlns="http://schemas.microsoft.com/sharepoint/">
      <MetaData>
       <ContentTypes>…</ContentTypes>
        <Fields>
          <Field ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}"
                 Name="Title"
                 DisplayName="Product Name"
                 Type="Text" />
          <Field ID="{36819A9B-E748-47D5-9949-A65DD195BF80}"
                 Name="ProductDescription"
                 DisplayName="Product Description"
                 Type="Text" />
          <Field ID="{5CD2C0C1-67AC-4F9E-BF21-463CFEE9B382}"
                 Name="ProductID"
                 DisplayName="ProductID"
                 Type="Number" />
        </Fields>
  • 在向列表添加内容类型和字段之后,还要将这些字段添加到2个默认的列表视图。找到<ViewFields>元素,并添加这些字段。在schema.xml文件中包含2个默认的视图,找到它们。其中,第一个视图如下所示:


    <ViewFields>
      <FieldRef Name="LinkTitleNoMenu"></FieldRef>
      <FieldRef ID="{36819A9B-E748-47D5-9949-A65DD195BF80}"
              Name="ProductDescription"
              DisplayName="Product Description" />
      <FieldRef ID="{5CD2C0C1-67AC-4F9E-BF21-463CFEE9B382}"
             Name="ProductID"
             DisplayName="ProductID" />
    </ViewFields>
  • 第二个视图如下所示:


    <ViewFields>
      <FieldRef Name="Attachments"></FieldRef>
      <FieldRef Name="LinkTitle"></FieldRef>
      <FieldRef ID="{36819A9B-E748-47D5-9949-A65DD195BF80}"
              Name="ProductDescription"
              DisplayName="Product Description" />
      <FieldRef ID="{5CD2C0C1-67AC-4F9E-BF21-463CFEE9B382}"
             Name="ProductID"
             DisplayName="ProductID" />
    </ViewFields>
    DSC0007.png
    DSC0008.png DSC0009.png

  • 在完成创建列表模板和定义之后,您需要对列表实例进行修改,以使其不再使用当前模板。首先,将将ProductList\ListInstance1 重命名为 ProductList\Products
    DSC00010.png

  • 接下来,打开ProductList\Products\Elements.xml文件。按照如下代码更改<ListInstance>元素,包括更改Title、TempateType 和 Url属性:


    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <ListInstance Title="Products"
                    OnQuickLaunch="TRUE"
                    TemplateType="10001"
                    Url="Lists/Products"
                    Description="">
      </ListInstance>
    </Elements>
  • 保存所有更改并按[CTRL]+[F5],来生成和部署当前解决方案,以便对您的工作成果进行测试。最终,Visual Studio将在浏览器中打开该网站,您应该在快速启动区中看到Products列表。
    DSC00011.png
    DSC00012.png
    DSC00013.png

  • 您可以进入网站栏库网站内容类型库,来查看当前Visual Studio 2010项目所创建的其他资源。
    DSC00014.png

    DSC00015.png
      

  在此次练习中,您已经使用Visual Studio 2010中全新的SharePoint Tools新建了若干网站栏、一个内容类型、列表模板以及该列表的一个实例。
  相关文件下载03_Lists.zip
  参考资料:
  Sharepoint 2010 Developer Training Kit
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118572-1-1.html 上篇帖子: 关于 SharePoint Designer 的利与弊 下篇帖子: 打SharePoint 2010 SP1后访问用户配置文件同步服务应用程序出错的解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表