1. 一个文件名为VCChartHandler.ashx,其文件代码为:

<%@ WebHandler Language="C#"  Class="VCSharePoint.BL.VCHandler,VCSharePoint, 
Version=1.0.0.0, Culture=neutral, PublicKeyToken=0134fd28ed40d3b2"%>

2. 另一个类为VCHandler.cs的文件,其后台代码为:

using System;
using System.Data;
using System.Collections.Generic;
using System.Text;
using System.Web;namespace VCSharePoint.BL
{public class VCHandler:IHttpHandler{#region IHttpHandler Memberspublic bool IsReusable{get { return false; }}public void ProcessRequest(HttpContext context){  context.Response.Clear();string yearValue = context.Request["Year"] == null ? DateTime.Today.Year.ToString() : context.Request["Year"].ToString();string monthValue = context.Request["Month"] == null ? UNITS.GetCurrMonth : context.Request["Month"].ToString();string data = string.Empty;data = JSONConverter.GetJSONData(GetRankingTable(yearValue, monthValue));context.Response.ContentType = "application/json";context.Response.ContentEncoding = Encoding.UTF8;if (data.Length == 0)data = "{\"NoResult\": \"this is no result\"}";   context.Response.Write(data);}private DataTable GetRankingTable(string yearValue,string monthValue){BL.BLCalculate BlCinstance = new BLCalculate(yearValue, monthValue);return BlCinstance.GetDataCalc();}#endregion}
}

3.  有一个显示文件网页文件为VC Ranking Chart.aspx, 其后台代码为:其引用了一个jQuery库

<%@ Page language="C#" MasterPageFile="~masterurl/default.master"    Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" meta:progid="SharePoint.WebPartPage.Document" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="QueryControl" TagName="QueryControls" src="~/_controltemplates/QueryControls.ascx"%>
<asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">Volunteer Challenge Result
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderId="PlaceHolderPageImage" runat="server"><IMG SRC="/_layouts/images/blank.gif" width=1 height=1 alt=""></asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderId="PlaceHolderPageTitleInTitleArea" runat="server"><WebPartPages:WebPartZone runat="server" Title="loc:TitleBar" ID="TitleBar" AllowLayoutChange="false" AllowPersonalization="false"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderId="PlaceHolderTitleBreadcrumb" runat="server"/>
<asp:Content ID="Content5" ContentPlaceHolderId="PlaceHolderTitleAreaClass" runat="server">
<style type="text/css">
TD.ms-titleareaframe, .ms-pagetitleareaframe {height: 10px;
}
Div.ms-titleareaframe {height: 100%;
}
.ms-pagetitleareaframe table {background: none;height: 10px;
}
</style>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderId="PlaceHolderAdditionalPageHead" runat="server">  <!-- JS Module--><script type="text/javascript" src="/_layouts/VCCharts/jquery-1.5.2.min.js"> </script><script type="text/javascript" src="/_layouts/VCCharts/highcharts.js"> </script><script type="text/javascript" src="/_layouts/VCCharts/exporting.js"></script><!-- End JS Module--><script  type="text/javascript">$(function(){                    InitalQuery();MonthChangeBind(); });function InitalQuery(){var year = $("select[id$='ddlYears']").val();var month = $("select[id$='ddlMonths']").val();var relUrl = $("input[id$='relWebURL']").val();var currentD=new Date();var currentY=currentD.getFullYear();if(currentY==year)$("#reminder").css("display","block");else$("#reminder").css("display","none");generateCharts(relUrl,year,month);}function MonthChangeBind(){$("select[id$='ddlMonths']").change(function(){InitalQuery();});}function generateCharts(webUrl,curYear,curMonth){$.ajax({url: webUrl+"/_layouts/VCCharts/VCChartHandler.ashx",    type: "POST",data: {Year: curYear, Month: curMonth},beforeSend: loading,success: function(json) {$.each(json,function(key,data){                    if(key =="NoResult"){$("#container").html("<span style='color:red;margin-top:100px; margin-left:200px'>" + data +"</span>");}else{var jsonData=[];var jsonCategories=[];$.each(data,function (key1,data1){   jsonCategories.push(data1.OfficeName);jsonData.push(data1.Ranking);});//----------Draw Chart----var chart;chart = new Highcharts.Chart({chart: {renderTo: 'container',defaultSeriesType: 'bar'},title: {text: 'Office Ranking for the Volunteer Challenge'},xAxis: {//categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas','Dalles','New York']categories: jsonCategories},yAxis: {min: 0,title: {text: ''}},legend: {backgroundColor: '#FFFFFF',reversed: true},tooltip: {formatter: function() {return ''+this.series.name +': '+ this.y +'';}},plotOptions: {series: {stacking: 'normal'}},series: [{name: 'Ranking',//data: [5, 3, 4, 7, 2,3,0.5]data: jsonData}]});                   //--------------End Draw---------------//}});   },error: function(res) { $("#container").html("<div style='color:red'>There are errors:  "+res+",   Please contact system administrator <div>");},complete: function() {  }});} //loading function.function loading() {$("#container").html("<div style=\"margin-top:100px; margin-left:300px\"><img src='/CSRS/_layouts/images/ewr133.gif' /> </br>loading...</div>");} </script>     <META Name="CollaborationServer" Content="SharePoint Team Web Site"><script type="text/javascript">var navBarHelpOverrideKey = "wssmain";</script>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderId="PlaceHolderSearchArea" runat="server"><SharePoint:DelegateControl ID="DelegateControl1" runat="server"ControlId="SmallSearchInputBox"/>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderId="PlaceHolderLeftActions" runat="server">
</asp:Content>
<asp:Content ID="Content9" ContentPlaceHolderId="PlaceHolderPageDescription" runat="server"/>
<asp:Content ID="Content10" ContentPlaceHolderId="PlaceHolderBodyAreaClass" runat="server">
<style type="text/css">
.ms-bodyareaframe {padding: 0px;
}</style>
</asp:Content>
<asp:Content ID="Content11" ContentPlaceHolderId="PlaceHolderMain" runat="server"><table cellspacing="0" border="0" width="100%"><tr><td class="ms-pagebreadcrumb" ><asp:SiteMapPath SiteMapProvider="SPContentMapProvider" id="ContentMap" SkipLinkText="" NodeStyle-CssClass="ms-sitemapdirectional" runat="server"/></td></tr><tr><td class="ms-webpartpagedescription"><SharePoint:ProjectProperty ID="ProjectProperty1" Property="Description" runat="server"/></td></tr><tr><td><table width="100%" cellpadding=0 cellspacing=0 style="padding: 5px 10px 10px 10px;"><tr><td colspan="2"><QueryControl:QueryControls id="sQueryControl" runat="server"/></td></tr> <tr><td colspan="2"><div id="container" style="margin-top: 20px; margin-left: 20px; width: 700px; height: 600px;"></div><div id="reminder" style=" color:Red;  font-size:12px; text-align:center;">Note: Current Month will  not be included in Total Ranking.</div></td></tr> <tr><td valign="top" width="100%"><WebPartPages:WebPartZone runat="server" FrameType="TitleBarOnly" ID="Right" Title="loc:Right"><ZoneTemplate></ZoneTemplate></WebPartPages:WebPartZone></td><td> </td></tr></table></td></tr></table><input  type="hidden" id="ymTempValue" />
</asp:Content>

转载于:https://www.cnblogs.com/gzh4455/archive/2011/12/13/2286733.html

IHttpHandler 在SharePoint中的应用相关推荐

  1. 一步一步SharePoint 2007之三十七:在SharePoint中实现Workflow(3)——运行Workflow

    下面将记录每一步的操作过程. 1.首先打开我的网站,依次点击Document Center.Announcements,进入Announcements列表页面. 2.在Announcements列表界 ...

  2. 用VS向SharePoint中部署添加List 并指定应用的Content Type

    在SharePoint Project中添加相应的Item,完全用界面的形式向EricSunArticlesList中添加好对应的Column,之后用Feature将List添加到SharePoint ...

  3. 关于SharePoint中管理列表项权限

    现况概述在SharePoint中对于列表的权限默认是只可以控制到列表级别,而对于列表下面的列表项,在SharePoint中是无法进行控制的. 需求概述现在我参与的项目中需要控制一个文档库中的文档.让这 ...

  4. SharePoint中的富文本编辑器控件

    在sharepoint中,自带一个html文本编辑器,可以对字体的大小,颜色甚至复制和粘贴都可以.这次做项目我们准备通过spd把这个编辑器放到自定义的aspx页面中.费了很大的力气,终于在博客堂()和 ...

  5. 凭借K2 SmartObject框架,在SharePoint中集成数据

    随着SharePoint 2013的发布,Microsoft已提供Business Connectivity Services(BCS)增强功能以及外部列表功能,确保您可以更简单地在SharePoin ...

  6. 【转】SharePoint 中的编程模型

    可以通过多种方式开发针对 SharePoint 平台的应用程序.可以基于以下各项将这些应用程序划分下列组中:用于创建应用程序的工具.用于开发应用程序的编程模型.打包和部署应用程序的方法.将应用程序投入 ...

  7. 在sharepoint中添加视频播放

    年初的时候想把公司举办的春晚发布在sharepoint中供大家观看,但是视频文件太大了,放到文档库中存储到数据库中是一个不切实际的办法,后来就搁置了. 其实也一直在想优酷等视频网站的发布方式,但没能得 ...

  8. 【原创】SharePoint中如何判断任务是否已经延期

    任务列表可以用来跟踪记录工作任务,同时可以在状态报表中汇总延期任务的情况,来标示任务的整体完成情况,比如存在计划完成时间小于今天的,说明该任务有问题,可以标个红. 实现方法: 在SharePoint中 ...

  9. SharePoint中添加或者修改Item时调用EventReceiver(Event Handler)处理额外的逻辑

    SharePoint中添加或者修改Item时调用EventReceiver(Event Handler)处理额外的逻辑.取名:EricSunArticlesListItemEventReceiver ...

最新文章

  1. Java基础点:集合
  2. Keras TensorFlow教程:如何从零开发一个复杂深度学习模型
  3. Acwing 309. 装饰围栏
  4. spring boot mybatis拦截器
  5. java中math的方法_Java Math所有方法
  6. 十九、Math和Random类
  7. xlsx文件打开乱码_xlsx文件怎么打开乱码
  8. win10计算器计算反三角函数
  9. wps2019无法使用粘贴复制快捷键
  10. java token 生成_生成 Token
  11. 访问samba服务器提示无权限使用网络资源
  12. 现如今安卓手机的系统优化哪家好呢?
  13. CAD2018下载、安装步骤!
  14. hotmail邮箱收件服务器主机名,hotmail邮箱foxmail(pop3服务器)设置方法
  15. JavaMail发送QQ邮件
  16. 解决苹果手机按钮的圆角问题
  17. SAP UI5 SimpleForm 里在水平方向显示多组 Form 元素的实现方法试读版
  18. sqlalchemy mysql 乱码_SQLAlchemyMySQL数据库乱码解决
  19. 详解:C语言中的指针和p, p+1, *(p+1), *P+1, p[0], p[0] 的含义
  20. 爆炸的符卡洋洋洒洒 (01背包

热门文章

  1. Golang的反射reflect深入理解和示例
  2. OpenGL编程轻松入门(四)
  3. windows版Cacti-0.8.8h一键安装
  4. 【飞行术】Web2.0如何改变电信业
  5. ios开发日记-18上传appStore时,遇到错误,代码为ERROR ITMS-90049
  6. redis 常用配置
  7. Linux基础知识——常用shell命令介绍(三)
  8. JAVA条件表达式的陷阱
  9. Solaris下访问windows共享资源
  10. Http之Get/Post请求区别