WalkThrough SharePoint WebPart 入门指南 三

Slides:



Advertisements
Similar presentations
模板的使用 教育学 江西教育学院教育系 冯芳 2012 - 10. 第二章 教育学的产生和发展 第一节 教育学的研究对象和任务 第二节 教育学的产生与发展 第三节 学习教育学的意义与方法.
Advertisements

用 藥 安 全 用 藥 安 全 護 理 師 張 嘉 芬. 前 言 前 言 正確用藥的方法 藥袋上的秘辛 為了減少重大疾病或是醫療處理、 用藥不當的相關事件發生。
阿尔伯特亲王 阿尔伯特亲王纪念碑 维多利亚女王夫妇 维多利亚女王一家 建造水晶宫 水晶宫初建时的照片.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
梦想启航 ——大学生活与职业规划专题讲座.
河北保定外国语学校 高三家长会.
以信息化带动教育现代化,打造教育的“南山质量”
个体税收征管政策讲解 浏阳市地方税务局.
封面 2015易驾考最新分享: 科目二考试方法秘诀 文章来源:易驾考官网.
基于行业的 企业技术创新信息保障体系研究 刘 华 博士 中国科学技术信息研究所.
第四讲 1949—1991年的中苏关系 及其经验教训.
“鼠标加水泥”的百货公司——武汉中百 朱巧巧 陆嘉怡 田泽宇.
合理控制索道游客流量 确保景区可持续发展 云南丽江玉龙雪山索道 陈加林 二0一五年十一月.
千里挑一的“征途” ——浅谈中国“国考”热.
研修4组 学习简报(第3期) 主编:左文玲 2015年2月7日.
拯救书店计划 第二课挑战任务 一、探秘职业,获取知识 姓名:童彦佶 团队成员:童彦佶和妈妈 年龄:10岁 所在地区:上海
潘集小学英语班 学习简报(第5期) 主编:吴婷 2016年2月28日.
与领导、下级、同事的 沟通技巧.
潜能宇宙平衡法则 ——启动11.11天地人合新生命工程(分类系统) 凛然智慧(北京)教育咨询有限公司.
回顾与展望:高州经验与广东医改 省卫生计生委、省医改办 黄 飞 2015年7月3日.
失眠的饮食及调理 北京国济中医院
中餐烹調實習Ⅲ 第九章中國菜系介紹 林可薇 製作.
第八章 网络课程的设计与开发.
新高考研究介绍 湖北省教育考试院项目研究组.
如东中专 学校文化课现状及提升举措的思考
员工保险 雇主责任险 概要 员工发生工伤事故后产生的一系列赔偿责任
第3讲 时间管理.
四年一班小組創作 黃琦智老師指導 (影片檔請見班級電視牆)
续班指导.
高等教育出版社 工作汇报 化学化工分社 翟怡.
******班班级学习简报(第*期) 主编:*** ****年**月**日.
采购控制程序 2008年9月.
单位:十堰离退休职工服务中心 时间:2016年2月1日
中国家电企业如何打造全球化品牌 黄 辉.
第6章 HTML控件和Web服务器控件 本章讲述的主要内容 6.1 ASP.NET控件概述 6.2 标准服务器端控件 6.3 数据验证控件
四川信托-汇誉10号集合资金信托计划.
《现代大学 英语》 说课程 公共课部 臧朝晖 益阳医学高等专科学校.
保大人还是保小孩 ---产房里的伦理学问题 小组成员 蔡婷 基础医学系 郭灵飞 基础医学系
超星尔雅 tsk.erya100.chaoxing.com 网络通识课程学习指导.
互联网时代班主任的挑战 万玮 2014年9月20日.
中药学 第十一章 祛风湿药.
形势与政策 2016年上.
幼儿园班务管理实践.
中 医 内 科 学 第一章 第一节 感冒.
中共江西省委党史研究室 从井冈山斗争中汲取信念的力量 沈谦芳 (江西省委党史研究室主任,博士、教授)
电气安全技术和管理 ——面对工厂管理者的电气安全管理 主讲人:林仿生.
第四节 存货 一、存货的分类 二、存货核算的主要内容 三、存货的确认条件 四、存货入账价值的确定 五、存货发出的计价 六、原材料
七年级下册《生物学》 神经调节的基本方式 小关镇第一初级中学 张书珺.
家庭教育 ----关爱成长 颜士杰.
2016年陕西省中考 语文试题分析(宝鸡市) 金台区教研室 马莉宁.
第三章 人类社会及其发展规律.
《计算机网络技术》 asp.net 程序设计 文本类控件 笪静.
中 医 内 科 学 第二章 第二节 胸 痹.
小组成员:吴芋蓓,钟汶珊,程瑶,唐嘉馨,朱然
WalkThrough SharePoint WebPart 入门指南 二
南华大学计算机学院 软件工程系 QQ讨论群:
.NET 簡介.
.NET 簡介.
鄉村尋根-農具篇.
WalkThrough SharePoint WebPart 入门指南
WalkThrough SharePoint WebPart 入门指南 四
科技经费管理与监督检查 浙江省科学技术厅 计划财务处 2012 • 8.
第七章 固定资产.
劉崇汎 崑山科技大學 電腦與通訊系 DLL的建立與引用 劉崇汎 崑山科技大學 電腦與通訊系
C# 基本語法、變數.
一個基於Web Service的 洪氾預警系統
——向刑事案件被告人家属调查取证的伦理性讨论
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
JAVA 程式設計與資料結構 第三章 物件的設計.
课程奖品 《SharePoint Portal Server 2003 深入指南》 Office System 2007 Beta2 1.
Presentation transcript:

WalkThrough SharePoint WebPart 入门指南 三 blog.joycode.com Kaneboy [MS MVP] 转载声明:此WalkThrough系列被转载和引用时,请保持博客堂链接。 Thanks.

此WalkThrough将演示 将一个Code-Behind方式编写的User Control载入到WebPart中 将所有的内容(WebPart、User Control、包括.ascx)集成到WebPart所在的一个Assembly中,以简化部署

背景知识 请通过此WalkThrough系列的前两辑了解在VS.NET中创建WebPart、加入User Control、简单部署WebPart等基础知识。 如果希望深入了解此WalkThrough中演示的部分代码的含义,请参看MSDN中有关Assembly中Resource部分的文档(如果不想了解,照葫芦画瓢亦可)。

一、创建用户控件 创建一个“ASP.NET Web应用程序”项目,在项目中添加一个名为“WebUserControl1”的用户控件,并放入一个Calendar控件。 在User Control的Code-Behind文件(这里是“WebUserControl1.ascx.cs”)中,加入自己想加入的代码。我们的示例中在User Control的Page_Load事件中加入了一行代码,用来设置Calendar控件的ToolTip属性

二、创建WebPart项目 在VS.NET中重新建立一个类型为“Web Part Library”,名称为“SampleWebPart”的项目。 在项目中通过“添加现有项…”菜单,将第一步中建立的UserControl的三个文件全部加入到此项目中。 打开“WebUserControl1.ascx.cs”文件,将此文件第一行指定的namespace改成和此项目一致的“SampleWebPart”: namespace SampleWebPart 打开“WebUserControl1.ascx”文件,将第一行的“<%@ Control>”标签中的“CodeBehind”属性删除,“Inherits”属性的值改为“SampleWebPart.WebUserControl1”: <%@ Control Language="c#" AutoEventWireup="false" Inherits="SampleWebPart.WebUserControl1" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>

三、设置User Control的编译目标 在“解决方案资源管理器”中选中User Control项“WebUserControl1.ascx”,点击鼠标右键,选择“属性”菜单。 在出现的属性窗口中,将“生成操作”属性的值更改为“嵌入的资源”。

四、在WebPart中载入Resource信息并输出 进行这一步骤之前,请回忆WalkThrough第一辑中的第二步。我们这里在WebPart中嵌入一个UserControl的原理和第一辑中的基本相同。 让我们现在转到“WebPart1.cs”文件,开始修改我们的WebPart。 1、定义一个用来保存UserControl的对象: private System.Web.UI.Control _innerControl;

四、在WebPart中载入Resource信息并输出(二) 前面两行的意思是从当前Assembly的Resource中取出指定信息并读到变量resourceContent中。 2、重载CreateChildControls()方法。 protected override void CreateChildControls() { using (StreamReader reader = new StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("SampleWebPart.WebUserControl1.ascx"))) String resourceContent = reader.ReadToEnd(); using (StreamWriter writer = new StreamWriter(this.Page.Server.MapPath("/bin/WebUserControl1.ascx"), false)) writer.Write(resourceContent); } this._innerControl = this.Page.LoadControl("/bin/WebUserControl1.ascx"); this.Controls.Add(this._innerControl); 这两行的意思是将resourceContent中的内容写入到一个名为“WebUserControl1.ascx”的文件中。

四、在WebPart中载入Resource信息并输出(三) 3、在RenderWebPart()方法中输出载入的User Control: protected override void RenderWebPart(HtmlTextWriter output) { this.EnsureChildControls(); this._innerControl.RenderControl(output); }

五、WebPart的其他工作 1、编辑“WebPart1.dwp”,配置WebPart。 2、编辑SPS虚拟站点上的“web.config”,添加“<SafeControl>”标签以信任我们的WebPart。 3、在VS.NET中编译,生成最终的“SampleWebPart.dll”。将此(.dll)拷贝到SPS虚拟站点跟目录的“bin”目录下。(只需要拷贝这一个(.dll)文件,不需要再另行拷贝(.ascx)文件。) 4、在SPS站点页面中导入我们这个WebPart。 上面的步骤详细操作请参看此WalkThrough第一辑中的第三、四、五、六步骤。

六、完成 WebPart在页面上面的效果如左图。 当把鼠标移到Calendar控件上时,可以看到有“Sample Calendar”的提示信息,验证了在第一步添加的Code-Behind代码被执行了。

七、To Be Continued… 注意: 我们前面的步骤仅仅用来演示如何实现我们需要的效果,但其细节代码实现的方式并不推荐。 首先不推荐将临时的“WebUserControl1.ascx”文件直接写到SPS虚拟站点的“bin”目录中(站点根目录下的“wpresources”是一个不错的选择),其次在WebPart中不应该每次都从Resource中读出数据并写到临时文件,而应该适当的应用缓存。 下一辑: 将演示用(.CAB)方式和(.MSI)方式在SPS服务器上部署WebPart。