【转】SharePoint 2013 开发——开发并部署webpart

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处于调试状态下才可以进行访问测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CCIE-LAB-第十五篇-IPV6-BGP+VPN6+RT

CCIE-LAB-第十五篇-IPV6-BGP+VPN6+RT 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译: 根据这些要求,将IPV6连接从总部通过SP扩展到laas站点上的giosk VRF。我在rll assign 2001:2710:311:2/64到r3 assign 2001:2710:311:1/64到gl2的RLI和…

CCIE-LAB-第十六篇-NAT+OSPF下发默认路由+校验配置(模块一结束篇章)

CCIE-LAB-第十六篇-NAT+OSPF下发默认路由+校验配置(模块一结束篇章) 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译: 根据这些要求1为FABD2公司网络启用高可用的internet访问。在路由器rl2、r23和r24上,与ISP进行IPV4 BGP对等。确保通过…

没啥好标题才显得有逼格对叭-CSDN

没啥好标题才显得有逼格对叭-CSDN 从中职的不知道啥时候起就开始进来这个网站了 虽然身边的人更倾向于攻城狮,GitHub这些,不过我觉得csdn方便点,也就一直常驻在这里了 最起初的我只是为了存储自己的CCIE-RS的学习笔记,写着写着因为忙着忙那的拖拖拉拉,也没有怎么坚持 一次偶…

解决Sharepoint每天第一次打开速度慢的问题

每天第一次打开Sharepoint的网站会非常慢&#xff0c;下面是解决这个问题的几个方法。 添加crl.microsoft.com到Hosts文件&#xff0c;IP地址指向服务器本机。允许服务器直接连接到crl.microsoft.com。修改服务器注册表。禁止所有用户使用CRL检查&#xff0c;具体修改如下。 注…

问一个网络工程师是怎么崩溃之一的?

问一个网络工程师是怎么崩溃之一的 他喵的我真的快炸了 CCIE-EI-LAB 我做了很久,包括详细命令,这段时间在背答案,就是不看题目只看拓扑图把所有需求背下来做,因为我也要去考IE 电脑都快给我干虚了 不过目前来说我也是把前面的部分已经完全背下来了,我现在把所有的快照删了…

CCIE理论-第一篇-SDN概念复习

CCIE理论-第一篇-SDN概念复习 SDN-软件定义网络&#xff08;Software Defined Network&#xff0c;SDN 最主要的核心概念是方便管理设备 传统网络 其实这个SDN也不是多牛逼的东西,他只是一个集中控制器,方便而已 传统的网络,如图所示 我们都知道,网络设备最主要是什么呢,为了…

CCIE理论-第二篇-SDN-FabricPath技术

CCIE理论-第二篇-SDN-FabricPath技术 首先,什么是FabricPath呢,这个东东是思科的私有技术,而且只能在Nexus系列设备上使用 例如N5K,N6K,N7K,N9K.都是支持的 但是,这个东西东西,是完完全全纯数据中心使用的顺带提一下,其实基本上SDN都是用于数据中心上的 有一个点不得不承认,思…

CCIE理论第三篇-LISP技术

CCIE理论第三篇-LISP技术 LISP LISP(locator identity separation protocol)位置身份分离协议 这个是个啥呢?为什么需要这个东东呢? 首先呢,我们知道,在VXLAN里面,MAC in udp(在tunnel 的概念下) 环境 首先,假设现在某公司,需要把左边的设备迁移到右边,中间是运营商,但是这…

【转】TFS自动签出解决方案sln或者项目文件csproj的解决办法

问题&#xff1a; 最近公司一个项目组的源代码解决方案打开时总是出现解决方案或者部分项目被自动签出的情况&#xff0c;但签入又提示没有变更。事情虽小&#xff0c;导致几个程序员要用项目文件时总是要找其他人签入。浪费不少时间。出现时间有几个月了&#xff0c;也一直没有…

CCIE理论-第四篇-SDA-1

CCIE理论-第四篇-SDA-1 SDA-software defied Access SDA-软件定义接入 SDA是被包含在SDN范畴里面的一个架构体系SDA核心-通过一系列的技术合租,组织到一个平面上 载体:DNA Center 在华为的载体是AC Agile Contro(不是无线AP哈!) 对比传统 传统三层网络 1.要备份,设备多,容…

CCIE理论-第五篇-SDA-2

CCIE理论-第五篇-SDA-2 DNA Center 展示一下web的界面哈 其实就类似平时弄的web的防火墙呀,其他设备等 弹性子网 这一章来讲讲弹性子网 stretched subnets allow an ip subnet to be :stretched:vla the overlay 拉伸子网允许通过覆盖“拉伸”IP子网1基于主机IP的流量…

CCIE理论-第七篇-SD-WAN网络(二)

CCIE理论-第七篇-SD-WAN网络(二) 首先回顾一波SD-WAN里面的几个主要角色 1.Vmanage 2.vsmart 3.vbond 4.vedge 其中,vbond和vedge实际上是一个东西 这次主要演示的是命令的版本 因为无论怎么升级,更新换代,底层是不会变的 web界面变来变去那是肯定的其中.SD-WAN里面会携带两个…

TFS命令tf:undo(强制签入签出文件)

由于修改计算机名称或不同电脑上操作忘记签入&#xff0c;则需要强制签入文件 具体步骤如下&#xff1a; 1.在命令行中输入"cd C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE"&#xff08;tf程序在文件夹&#xff09;&#xff0c;进入tf程序所在目录…

CCIE理论-第八篇-SD-WAN(三)+DAI(动态ARP检测)

CCIE理论-第八篇-SD-WAN(三) 首先来说上一章的问题, vbound和vsmart还没出来 . 指定域和vbound 初始化搞完了,那么需要去添加vsmart和vbound了 添加设备 添加设备 延续前面的环境继续说 vbound 注意CSR这里是不需要做的了,因为前面已经做了 vsmart 连接成功,来看看监测图 …

关于VSCode中工作区的讲解与使用工作区还你一个轻量 的VSCode

VSCode的使用率在逐渐提高&#xff0c;但安装太多的插件会使得VSCode变得臃肿&#xff0c;甚至运行变慢&#xff0c;占用太多内存&#xff0c;此文章介绍了工作区&#xff0c;并如何来使用工作区更好地体验VSCode。 初次使用VSCode&#xff0c;肯定有很多人好奇&#xff0c;这…

CCIE-LAB-SDN-第一篇-修改交换机管理IP

CCIE-LAB-SDN-第一篇-修改交换机管理IP 之前讲到CCIE-LAB呢是分三个部分的 那么第一个模块1,传统路由交换已经全部发出来了 到了这个模块2呢,就是SDN了,开始搞了实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图

CCIE-LAB-SDN-第二篇-DNAC中完成VN配置

CCIE-LAB-SDN-第二篇-DNAC中完成VN配置 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 题目 第2.2节:在DNA中心完成VN配置 使用DNA中心GUl,根据以下步骤执行配置任务 要求 1.在网络上为物联网添加新的虚拟网络名称批次 分支机构#1和#2。 2.为名…

CCIE-LAB-SDN-第三篇-SD-WAN

CCIE-LAB-SDN-第三篇-SD-WAN 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 题目 SECTION 2.3: Mapping SDA VNs to SD-WAN VPNS(4 Points) Using vManage GUI, perform configuration tasks according to these requirements. Use any host, such…

SharePoint 2013 搭建负载均衡(NLB)详解

服务器架构&#xff08;三台虚机&#xff1a;AD和Sql在一台&#xff0c;前端两台&#xff09; DC、Sql Server&#xff0c;其中包括&#xff1a;AD、DNS、DHCP服务&#xff08;非必须&#xff09;&#xff1b; SPWeb01&#xff0c;其中包括&#xff1a;IIS、SharePoint&#…

CCIE-LAB-SDN-第四篇-SD-WAN-2

CCIE-LAB-SDN-第四篇-SD-WAN-2 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 题目 SECTION 2.3: Mapping SDA VNs to SD-WAN VPNS(4 Points) Using vManage GUI, perform configuration tasks according to these requirements. Use any host, su…