webpart我们就不详细阐述了,在APP的开发中,自定义属性设置可以通过APP webpart的URL查询字符串传递,它通过IFRAME来显示远程的内容。废话不多说,我们开始实际操作。

打开Visual Studio,新建SharePoint应用程序项目,名字我们就叫做SharePointAppPartTest。

参照上一篇完成项目的创建。 右键点击SharePoint项目节点,选择添加->新建项,选择客户端Web部件(宿主Web),起名叫做ClientWebPartTest,点击确定并在下一个对话框中保留默认完成添加。

我们可以看到解决方案中是如下图生成的:

SharePoint工程中有一个Elements.xml元素用来说明我们创建的webpart,托管Web应用程序中的Pages文件夹下生成了一个对应的ASPX页面。打开Elements.xml文件可以看到如下默认生成的内容:

<ClientWebPart Name="ClientWebPartTest" Title="ClientWebPartTest 标题" Description="ClientWebPartTest 说明" DefaultWidth="300" DefaultHeight="200"><!-- Content 元素标识将在客户端 Web 部件内呈现的页面的位置在查询字符串上使用模式 _propertyName_ 引用了属性示例: Src="~appWebUrl/Pages/ClientWebPart1.aspx?Property1=_property1_" --><Content Type="html" Src="~remoteAppUrl/Pages/ClientWebPartTest.aspx?{StandardTokens}" /><!-- 在 Properties 元素中定义属性。请记得在上述 Content 元素的 Src 特性上放置属性名称。 --><Properties></Properties></ClientWebPart>

我们来添加几个属性,在Properties节点下,声明如下四个属性(string、int、bool、enum):

<PropertyName="myStrProp"Type="string"RequiresDesignerPermission="true"DefaultValue="String default value"WebCategory="My Test Apps"WebDisplayName="A property of type string."></Property><PropertyName="myIntProp"Type="int"RequiresDesignerPermission="true"DefaultValue="0"WebCategory="My Test Apps"WebDisplayName="A property of type integer."></Property><PropertyName="myBoolProp"Type="boolean"RequiresDesignerPermission="true"DefaultValue="false"WebCategory="My Test Apps"WebDisplayName="A property of type boolean."></Property><PropertyName="myEnumProp"Type="enum"RequiresDesignerPermission="true"DefaultValue="1st"WebCategory="My Test Apps"WebDisplayName="A property of type enum."><EnumItems><EnumItem WebDisplayName="First option" Value="1st"/><EnumItem WebDisplayName="Second option" Value="2nd"/><EnumItem WebDisplayName="Third option" Value="3rd"/></EnumItems></Property>

都是我们测试中用的,所以名称有些随意,实际应用中请取有意义的名称。 属性创建完之后,如何与webpart进行关联呢?我们需要修改Content节点的Src属性,修改后的节点如下所示:

<Content Type="html" Src="~remoteAppUrl/Pages/ClientWebPartTest.aspx?{StandardTokens}&StrProp=_myStrProp_&IntProp=_myIntProp_&BoolProp=_myBoolProp_&EnumProp=_myEnumProp_&Editmode=_editMode_" />

借助这种方式,APP webpart的参数通过URL的查询字符串传递到ASPX页面,接下来我们到ASPX页面去处理我们定义的参数。

打开ClientWebPartTest.aspx页面,在空的DIV元素内加入如下控件:

<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:Literal ID="Literal1" runat="server" Text="Hello world from an app part!"></asp:Literal>

打开后台代码ClientWebPartTest.aspx.cs,在Page_Load方法中加入如下代码来获取传递的参数:

var intParam = Request.QueryString["IntProp"];var strParam = Request.QueryString["StrProp"];var boolParam = Request.QueryString["BoolProp"];var enumParam = Request.QueryString["EnumProp"];var editMode = Request.QueryString["EditMode"];if ("true" == editMode){Literal1.Text = "The App Part is in edit mode";}else{Literal1.Text = "myIntProp = " + intParam + "<br>" +"myStrProp = " + strParam + "<br>" +"myBoolProp = " + boolParam + "<br>" +"myEnumProp = " + enumParam;}
var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);using (var clientContext = spContext.CreateUserClientContextForSPHost()){clientContext.Load(clientContext.Web, web => web.Title);clientContext.ExecuteQuery();this.Label1.Text = "Site Title: " + clientContext.Web.Title + "<br>";}

代码中我又加了一段之前的CSOM,是想用简单的组合来告诉大家我们其实可以在其中做很多的事情。

F5生成并部署APP,成功之后弹出浏览器窗体:

一样的东西,默认会跳转到应用程序的Default页面,我们回到我们的开发人员网站,点击右上角的设置->编辑网页,选择插入选项卡,点击应用程序部件。

点击添加按钮完成页面中添加webpart的操作。

好了,webpart中已经显示了我们让它显示的内容。

我们回到编辑状态,编辑这个webpart,可以看到我们添加的自定义属性。我们对属性进行适当的修改并保存。

以上就是开发APP webpart的大致过程。

另外一点需要说明的是,由于我们在调试状态下,并没有发布APP,所以需要Visual Studio处于调试状态下才可以进行访问测试。

【转】SharePoint 2013 开发——开发并部署webpart相关推荐

  1. SharePoint 2013 本地开发解决方案以及程调试

    SharePoint 2013 本地开发解决方案以及程调试 在SharePoint开发中,我们需要在部署有SharePoint环境的服务器中开发,这是一件让人很苦恼的事情,毕竟不能一个项目多人开发配备 ...

  2. SharePoint 2013 图文开发系列之自定义字段

    原文:SharePoint 2013 图文开发系列之自定义字段 SharePoint使用的优势,就在于开箱即用.快速搭建,SharePoint自身为我们提供了很多字段类型,已经很丰富了.但是,在实际应 ...

  3. SharePoint 2013 APP 开发示例 (三)使用远程的web资源

    在这个示例里我们将详细介绍 TokenHelper 类, 我们将看到它是怎么简单地从远程web站点访问SharePoint的.我们还将取到它的一些值.这将帮助我们理解连接是怎么被构造的,同时也方便我们 ...

  4. SharePoint 2013 APP 开发示例 系列

    SharePoint 2013 APP 安全: SharePoint 2013 APP 开发示例 (一)List 读写 SharePoint 2013 APP 开发示例 (二)获取用户信息 Share ...

  5. SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)

    上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...

  6. SharePoint 2013 APP 开发示例 (二)获取用户信息

    这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的  SharePoint 2013 app: UserProfileTest. 3. 选 ...

  7. SharePoint 2013 图文开发系列之WebPart

    这是我们介绍SharePoint开发入门的第一篇,在这一篇里,我们会介绍SharePoint开发的几个关键物理路径,一些开发技巧和最基础的WebPart开发. 开发工具 在SharePoint 201 ...

  8. SharePoint 2013 图文开发系列之代码定义列表

    在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码 ...

  9. SharePoint 2013常用开发工具分享

    众所周知,一款好的开发工具不仅能提高项目开发效率,而且能够协助开发人员简化开发流程.本文汇总几款SharePoint 2013开发常用开发工具,希望能够对大家有所帮助.如果您有更好的工具,没有包含在本 ...

  10. SharePoint 2013 配置开发环境,需安装VS2012插件

    SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有SharePoint 2013开发的支持,如下图: 然后,去网上查找资料,VS2012对 ...

最新文章

  1. CDI中的事务异常处理
  2. windows7系统设置动态屏保的教程
  3. 苹果x屏幕出现一条绿线_部分用户反映苹果 iPhone 12 屏幕出现划痕 - iPhone 12
  4. LeetCode(929)——独特的电子邮件地址(JavaScript)
  5. 序列化数据导入mysql_[导入]对象序列化后保存到数据库
  6. undefined reference to `sqlite3_column_table_name‘
  7. 拓端tecdat|R语言配对检验分析案例
  8. 最近华为笔试题(9.8)第三题
  9. linux tar 命令无效,linux Tar 命令
  10. cocos 修改层级_管理节点层级和显示顺序
  11. uploader.php,Uploader.php
  12. 单周期CPU实验之学习之旅
  13. JavaScript 小数转分数
  14. 简约纯色卡通蝴蝶Mac动态壁纸
  15. 基尔霍夫电流定律KCL和基尔霍夫电压定律KVL
  16. 会计学原理学习笔记——第三章——账户与复式记账(3.5生产准备业务核算——费用发生业务核算)
  17. 乔布斯现身布道iPad 2 中国渠道商降价清库存
  18. 戴文的Linux内核专题:03 驱动程序【转】
  19. node.js 安装及使用
  20. c语言中生日蛋糕图片大全,简单生日蛋糕图片大全

热门文章

  1. 私钥公钥学习心得(二)比特币与支付宝
  2. 求一个整数数组的最大元素,递归方法实现
  3. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第2篇]多核处理器和向量处理器的区别
  4. 数学和计算机的应用视频教学反思,数学多媒体教学反思.doc
  5. access日期如何增加年数_如何为Access数据库表添加日期或时间戳
  6. java 对象流_java 对象流的简单使用
  7. shell 文件内容替换 sed用法
  8. spring webflow : 上传单个文件实例
  9. python指定文件路径_python实现指定文件夹下的指定文件移动到指定位置
  10. Boost.Python实现Python C/C++混合编程