SharePoint 中用户控件的开发及应用

简介:   1、新建解决方案以及SharePoint项目,步骤比较简单略过,然后映射CONTROLTEMPLATES文件夹,在里面添加用户控件(仅场解决方案),如下图:   2、解决方案结构,如下图:   简单介绍一下,部署以后dll会到GAC,ascx控件会部署到CONTROLTEMPLATES文...

  1、新建解决方案以及SharePoint项目,步骤比较简单略过,然后映射CONTROLTEMPLATES文件夹,在里面添加用户控件(仅场解决方案),如下图:

clip_image001

  2、解决方案结构,如下图:

  简单介绍一下,部署以后dll会到GAC,ascx控件会部署到CONTROLTEMPLATES文件夹下面,不要问我这个文件夹物理路径在哪哦~~

clip_image002

  3、在前台的ascx文件里添加控件,如下图:

  这样的开发场景,和asp.net是不是很像?没错,前台可以设计好布局,然后在后台添加相应代码就可以了,这里只是一个简单demo(读取页面库内容);

clip_image003

  4、在后台cs文件中添加代码,btn的click事件里添加我们需要的代码:

clip_image004

  5、添加代码附,如下:

protected void btn_GetListItem_Click(object sender, EventArgs e)
{
    StringBuilder Items = new StringBuilder();
    using (SPSite site = new SPSite(SPContext.Current.Site.ID))
    {
        using (SPWeb web = site.OpenWeb())
        {
            SPList list = web.Lists["页面"];
            int i = 1;
            foreach (SPListItem item in list.Items)
            {
                Items.Append("条目 -- " + i.ToString());
                Items.Append("标题:" + item["Title"].ToString());
                Items.Append("</br>");
                Items.Append("地址:" + item.File.Url);
                Items.Append("</br></br>");
            }
        }
    }
    lb_ListItem.Text = Items.ToString();
}

  6、添加代码以后,部署解决方案,ascx文件部署后如下图位置:

clip_image005

  7、dll文件部署的位置,如下图:

clip_image006

  8、简单介绍下部署的位置

  Dll的位置,特别要说的是,SharePoint 2013的Dll由于FrameWork版本的问题,部署在如下位置了:

C:\Windows\Microsoft.NET\assembly\GAC_MSIL\SP2013CustomUserControl\v4.0_1.0.0.0__254789ed6746c3c6

  Ascx位置: 

C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES

  9、在页面的头部注册

clip_image007

  10、在PlaceHolderMain里添加我们的部件

clip_image008

  11、查看页面中的效果,如下图:

clip_image009

  12、点击GetListItem以后效果,如下图:

  由于只是一个demo作为演示,只是简单读取了页面库中的页面信息,包括标题和页面的Url地址,效果如下:

clip_image010

  以上就是SharePoint中用户控件使用的简单介绍,或许有人会说,这个和WebPart不是一样么?其实,用户控件和WebPart本身就很类似,但是使用不仅仅这一种场景,我们可以把用户控件添加到页面中,添加到母版页中,甚至于添加到SharePoint Layouts目录下发布的应用程序页面中,都是可以的。

  用户控件和WebPart很类似,但是应用场景还是有所区别的,至少我感觉用户控件偏向开发人员使用,用于不常修改的功能;WebPart偏实施人员使用,更多的带有配置信息,更加灵活多变。

  好了,用户控件的介绍就到这里了,希望能够带给需要的人以帮助,谢谢!

目录
相关文章
|
缓存 JavaScript Windows
windows环境下NPM / NodeJS的安装配置
npm(node package manager):nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等) 本文主要讲解如何搭建npm环境
7893 0
windows环境下NPM / NodeJS的安装配置
|
开发框架 网络协议 前端开发
一个对C#程序混淆加密,小巧但够用的小工具
一个对C#程序混淆加密,小巧但够用的小工具
278 1
|
SQL 机器学习/深度学习 运维
SLS机器学习最佳实战:时序异常检测和报警
日志服务团队具备强大的日志采集功能,针对建立索引的日志进行快速的查询和分析能力。基于此,我们团队将时序数据分析功能整合到日志服务中去,结合更加强大的告警功能,帮助用户根据自己的业务需求,快速的构建报警规则,提高效率。
9713 0
|
14天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
6天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
9天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
846 25
|
8天前
|
机器学习/深度学习 人工智能 搜索推荐
万字长文深度解析最新Deep Research技术:前沿架构、核心技术与未来展望
近期发生了什么自 2025 年 2 月 OpenAI 正式发布Deep Research以来,深度研究/深度搜索(Deep Research / Deep Search)正在成为信息检索与知识工作的全新范式:系统以多步推理驱动大规模联网检索、跨源证据。
581 46