设为首页 收藏本站
查看: 885|回复: 0

[经验分享] SharePoint 2010开发实例精选——“每日一句”WebPart

[复制链接]

尚未签到

发表于 2015-9-25 12:21:03 | 显示全部楼层 |阅读模式
  本例将在SharePoint 2010站点上构建一个每日一句Web部件。如果你的电脑上还没有装SharePoint 2010环境,可以先从配置 SharePoint 2010开发环境开始做起。为了能够开发该webpart,你除了需要SharePoint 2010外,还需要VisualStudio 2010。
  下图是最终完成时的效果。它会每天随机从列表里获取数据。
DSC0000.jpg
步骤
  新建一个visual web part,命名为TOTD。
DSC0001.jpg
  添加你希望将webpart部署到的站点的URL 。
DSC0002.jpg
  点击完成并删除默认创建的webpart。然后新加一个visual web part,如下图所示:
DSC0003.jpg
  在设计界面上放置一个Image Box,两个lable,然后根据需要调整表格的布局。
   DSC0004.gif 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。现在你得到类似如下的设计界面。
DSC0005.jpg
  OK。现在你已经完成了部件的设计工作,开始编写后台代码。

DSC0006.gif 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
  然后,将默认的标题字段设置为不必需填写:
DSC0007.jpg
  转到列表视图,修改视图使其只显示我们需要的三个字段:
DSC0008.jpg
  接下来创建图片库,以便存放作者的相片。
  创建一个名为QOTDImage的图片库
  创建一个单行文本字段,命名为Author。重命名标题字段为"Name"。最终,你得到类似如下的图片库:
DSC0009.jpg
  现在,你可以尽可能多的往QOTD列表填数据了。在AuthorImage一栏链接到图片库中图片的地址。
DSC00010.jpg
  这里为&#8220;http://ca5-sd-c-022:8080/sites/behive/QOTDImage/Einstine.bmp&#8221;。
DSC00011.jpg
  准备工作完成。
  编译该项目并点击部署。然后你就可以再你的网站上使用你的webpart了。
  网站操作->编辑页面->插入(位于编辑功能区)->Web部件->类别->Custom,这样你就可以找到名为"TOTD_Web_Part"的webpart了。快快添加吧!
  
  参考资料
  Thought of the day Web part

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118685-1-1.html 上篇帖子: SharePoint 2010 RMS 控制台根节点 证书 个人 证书 下没有 WMSvc开头的证书的解决方法 下篇帖子: Sharepoint学习笔记---Linq to Sharepoint--增,删,改操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表