本例将在SharePoint 2010站点上构建一个每日一句Web部件。如果你的电脑上还没有装SharePoint 2010环境,可以先从配置 SharePoint 2010开发环境开始做起。为了能够开发该webpart,你除了需要SharePoint 2010外,还需要VisualStudio 2010。

下图是最终完成时的效果。它会每天随机从列表里获取数据。

步骤

新建一个visual web part,命名为TOTD。

添加你希望将webpart部署到的站点的URL 。

点击完成并删除默认创建的webpart。然后新加一个visual web part,如下图所示:

在设计界面上放置一个Image Box,两个lable,然后根据需要调整表格的布局。

HTML代码

<table style="width: 409px">
    <tr>
        <td rowspan="2" width="100px">
            <asp:Image ID="ImgAuthor" runat="server" Width="100px" Height="100px" />
        </td>
        <td style=" height:16px" valign="top">
            <asp:Label ID="lblTOTD" runat="server" Font-Italic="True" Font-Names="Calibri" 
                Font-Size="12pt" style="z-index: 1; left: 120px; top: 29px; width: 376px" 
                ForeColor="#003399"></asp:Label>
        </td>
    </tr>
    <tr>
        <td align="right" valign="top">
            <asp:Label ID="lblAuthor" runat="server"  Font-Names="Calibri" Font-Size="9pt" 
                style="z-index: 1; left: 239px; top: 97px; text-align:right; height: 13px; width: 252px"></asp:Label>
        </td>
    </tr>
</table>

控件命名为,ImageBox:ImgAuthor,Lable:lblTOTD,lblAuthor。现在你得到类似如下的设计界面。

OK。现在你已经完成了部件的设计工作,开始编写后台代码。

C#代码

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;

namespace TOTD.TOTD_Web_Part
{
    public partial class TOTD_Web_PartUserControl : UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SPWeb ospweb = SPContext.Current.Web;
            SPList oList = ospweb.Lists["QOTD"];
            SPListItemCollection collItem = oList.GetItems("Thought", "AuthorImage", "AuthorName");

Random random = new Random();
            int RndItem = random.Next(1, collItem.Count + 1);
            int LastDay = 0;
            int TOTD = 0;
            int CurrentDay = DateTime.Now.DayOfYear;
            try
            {
                LastDay = int.Parse(Application["LastDay"].ToString());
                TOTD = int.Parse(Application["TOTD"].ToString());

if (LastDay != CurrentDay)
                {
                    Application["LastDay"] = CurrentDay;
                    Application["TOTD"] = RndItem;
                    SPListItem oItem = collItem[RndItem - 1];
                    this.ImgAuthor.ImageUrl = SPEncode.HtmlEncode(oItem["AuthorImage"].ToString().TrimEnd('?', '.', ',', ' '));
                    this.lblTOTD.Text = oItem["Thought"].ToString();
                    this.lblAuthor.Text = SPEncode.HtmlEncode(oItem["AuthorName"].ToString());
                }
                else
                {
                    SPListItem oItem = collItem[TOTD - 1];
                    this.ImgAuthor.ImageUrl = SPEncode.HtmlEncode(oItem["AuthorImage"].ToString().TrimEnd('?', '.', ',', ' '));
                    this.lblTOTD.Text = oItem["Thought"].ToString();
                    this.lblAuthor.Text = SPEncode.HtmlEncode(oItem["AuthorName"].ToString());
                }
            }
            catch
            {
                Application["LastDay"] = CurrentDay;
                Application["TOTD"] = RndItem;
                SPListItem oItem = collItem[RndItem - 1];

this.ImgAuthor.ImageUrl = SPEncode.HtmlEncode(oItem["AuthorImage"].ToString().TrimEnd('?', '.', ',', ' '));
                this.lblTOTD.Text = oItem["Thought"].ToString();
                this.lblAuthor.Text = SPEncode.HtmlEncode(oItem["AuthorName"].ToString());
            }
        }
    }
}

现在,你完成了整个webpart的开发。让我们来把webpart部署到SharePoint 2010服务器。

在部署前,你需要先在站点里创建一个图片库和一个自定义列表。 创建一个名为QOTD的自定义列表,并添加下列的栏:

1、类型->图片或超链接 ;名称->AuthorImage ;格式化URL为->图片

2、 类型->单行文本 ;名称->AuthorName

3、类型->单行文本 ;名称->Thought

然后,将默认的标题字段设置为不必需填写:

转到列表视图,修改视图使其只显示我们需要的三个字段:

接下来创建图片库,以便存放作者的相片。

创建一个名为QOTDImage的图片库

创建一个单行文本字段,命名为Author。重命名标题字段为"Name"。最终,你得到类似如下的图片库:

现在,你可以尽可能多的往QOTD列表填数据了。在AuthorImage一栏链接到图片库中图片的地址。

这里为“http://ca5-sd-c-022:8080/sites/behive/QOTDImage/Einstine.bmp”。

准备工作完成。

编译该项目并点击部署。然后你就可以再你的网站上使用你的webpart了。

网站操作->编辑页面->插入(位于编辑功能区)->Web部件->类别->Custom,这样你就可以找到名为"TOTD_Web_Part"的webpart了。快快添加吧!

参考资料

Thought of the day Web part

转载于:https://www.cnblogs.com/Sunmoonfire/archive/2010/06/23/1763080.html

SharePoint 2010开发实例精选——“每日一句”WebPart相关推荐

  1. SharePoint 2010开发实例精选——通过客户端对象模型删除页面上的Web部件

    下面的例子是在控制台应用程序中使用客户端对象模型,为了在控制台程序中使用ClientContext,我们需要添加两个dll引用到我们的项目中.Microsoft.SharePoint.Client.d ...

  2. 了解 SharePoint 2010 开发中的关键点

    **摘要:**了解为 Microsoft SharePoint 2010 规划和开发业务解决方案时必须做出的关键点. 上次修改时间: 2012年3月13日 适用范围: Business Connect ...

  3. bars 除障句完整_精选每日一句早安问候语语录49句

    精选每日一句早安问候语语录49句 任何事情都是这样一个过程,决定去做了,就着手去做,一旦找到了舒适区,你就会乐在其中,或许就发现:"喜欢比努力更重要."乐在其中地去坚持一件事,总好 ...

  4. SharePoint 2010开发环境搭建

    本文的主要内容:本地电脑上搭建SharePoint 2010的开发环境,资料来源主要是翻译微软官方文档,以此记录学习过程,下面就一步一步翻译重点,由于我电脑是Win 7系统,所以这里主要介绍windo ...

  5. 了解 SharePoint 2010 开发中的关键设计决定

    在开发项目时,我们经常用到SVN.但是有时候,只知道把源码放到trunk , 把一些文档放到Document下面.其它的目录都应该放什么东西,应该怎么用.可能都有点模糊. Branch 目录 :    ...

  6. 国内首部Sharepoint 2010深入开发(工作流+安全性+单点登录+AD开发、认证等)

    简介:本课程是国内首部深入讲解Sharepoint 2010全程开发的课程,讲师为微软中国上海公司高级工程师.课程采用技术结合实例的方式讲解,涉及内容包括Sharepoint2010之Linq.WCF ...

  7. SharePoint 2010: 对于开发人员

    对开发人员的价值 SharePoint 2010为开发人员提供的好处是什么? 开发人员可以使用 SharePoint 2010 开发平台为企业和 互联网构建商业协作应用,并且使用熟悉的工具和一套丰富的 ...

  8. SharePoint 2010在WIN7系统下建立开发环境

    SharePoint 2010在WIN7系统下建立开发环境 (MSDN上有比较详细的介绍,地址:http://msdn.microsoft.com/en-us/library/ee554869%28o ...

  9. F5提高Microsoft SharePoint 2010平台的灵捷 度、性能和安全性

    Microsoft® SharePoint® Server 2010为全球各地的企业实现了创新的.智能的业务协作.企业采用Microsoft SharePoint无缝地连接用户.团队和知识.Share ...

最新文章

  1. 利用XRDP远程登陆linux系统
  2. python对象点方法_python面向对象知识点疏理
  3. CVPR(IEEE Conference on Computer Vision and Pattern Recognition)
  4. Atitit gui界面ui技术发展史与未来趋势
  5. __cdecl , __fastcall 和__stdcall区别
  6. python 数据挖掘与分析实战
  7. 超简单的Oracle 数据库安装教程(Oracle安装包)
  8. linux单盘raid0,MegaCli修复单盘RAID0
  9. 超级简单基于spring boot高速公路收费系统的设计与实现.rar(含源码及数据库文件)
  10. 女人一生必须拥有的珍珠
  11. 猴子年华、教你如何关闭微信朋友圈广告
  12. 线性代数2:线性方程组与矩阵表示
  13. Vue中gsap库实现数字递增动画
  14. vue移动端适配—手动rem适配
  15. 电子信息科学与技术与计算机专业相近吗,电子信息科学与技术专业简介
  16. LintCode 题解 |亚马逊、微软热门题:目的地的最短路径
  17. Verilog数字系统教程学习——Verilog语法的基本概念
  18. PSP - 更新 MSA 搜索的全部 UniProt 蛋白序列库
  19. 批量修改mathtype中的公式字体、大小
  20. Minecraft Forge服务器的搭建

热门文章

  1. 火狐浏览器pentadatyl插件的基本设置
  2. 职业生涯中12个愚蠢想法
  3. 用扫描的方式实现Rosenfeld and Pfaltz提出的距离变换!
  4. leetcode算法题--二叉树中序遍历迭代法
  5. div css导航栏设计,CSS+DIV设计实例:超酷的竖排导航栏
  6. 首尾连接的数组的求和问题
  7. 安装配置 flannel - 每天5分钟玩转 Docker 容器技术(59)
  8. 与癌症作战的 12 家 AI 公司,八仙过海各显神通
  9. Safari的CSS HACK方法
  10. jQuery的使用及关于框架造型(转)