编程技巧 - 文章列表
-
用C#实现pdf文件的完整性验证
现在对文件的完整性验证,防止文件被篡改的技术已经比较成熟,一般使用数字签名,数字水印等,最近我在一个项目中也遇到了防篡改的需求。该项目要求用户将原始发票用专门的扫描程序扫描成pdf文件,然后将该pdf文件传到服务器上,在上传的同时必须要验证这个pdf是没有被手工修改过的。我刚一接触到这个需求想到的就是使用数字水印,要不然就直接使用PDF的数字签名功能,不过这些方法都感觉比较比较复杂,一大堆的英文文档也没有心思去研究,于是琢磨了半天,写了一个简化版的数字水印程序,实现了pdf文件完整性验证。 验证的基本思路是: 对文件全部内容计算其MD5值,这样无论用户修改了文件的任何一个地方,那么
-
ASP.Net环境下使用Jmail组件发送邮件
配置环境:.Net Framework 1.1,Imai8.02,w3Jmail4.3 \n实现过程: \n不同于在Asp中使用Jmail,直接使用 Server.CreateObject(“Jmail.Message”)就可以了。在.Net环境中,需要进行设置。 \n1.安装jmail4.3 \n2.找到jmail.dll(Program FilesDimacw3JMail4下) \n3.执行Program FilesMicrosoft Visual Studio .NETFrameworkSDKBinildasm.exe(可使用Visual Studio .Net
-
GridView中实现并列排名的例子
Access数据库版本\n<%@ Page Language=”C#” AutoEventWireup=”true” Debug=”true” %><%@ Import Namespace=”System.Data” %><script runat=”server”> public int TrapezoidIndex = 1; int LastNumer = 0; protected void Page_Load( object
-
ASP.NET 1.1 无 Cookie SessionID 重写
浏览器的会话使用存储在 SessionID 属性中的唯一标识符进行标识。会话 ID 使 ASP.NET 应用程序能够将特定的浏览器与 Web 服务器上相关的会话数据和信息相关联。会话 ID 的值在浏览器和 Web 服务器间通过 Cookie 进行传输,如果指定了无 Cookie 会话,则通过 URL 进行传输。ASP.NET 通过自动在页的 URL 中插入唯一的会话 ID 来保持无 Cookie 会话状态。例如,下面的 URL 已被 ASP.NET 修改,以包含唯一的会话 ID lit3py55t21z5v55vlm25s55: http://www.example.com/s(lit3py5
-
基于Gettext的asp.net网站多语言解决方案
很久以前就想写这篇blog,系统的介绍一下偶是如何使用Gettext给blogwind做多语言界面的……\n很不喜欢.net内置的多语言解决方案……因为,它使用xml……编辑xml是一件很痛苦的事情……我也不想给每个页面弄一堆resouce文件……光看着这些资源文件我就很晕……\n偶是从Django里面知道有Gettext这套在开源软件中广为使用的程序多语言解决方案的……\n最喜欢它的地方是它默认直接使用英文原文作为字符串的键值……而不是像.net默认的那样,给所有的字符串加上一个编号……而当翻译不存在的时候,.net是会抛出异常,而Gettext是会返回原文……这样子,我可以部分给网站制作一
-
ASP.NET 防盗链源码
/* * * 防盗链IHttpHandler * * * 增加了对文件关键字的选择(即仅对文件名存在某些关键字或不存在某些关键字进行过滤) * 设置web.config中<appSettings>节以下值 * string eWebapp_NoLink 如果文件名符合该正确表态式将进行过滤(不设置对所有进行过滤) * string eWebapp_AllowLink 如果文件名符合该正确表态式将不进行过滤(优先权高于AllowLink,不设置则服从AllowLink) * bool eWebapp_ AllowOnlyFile 如果为False,(默认true)则不允许用户直接对该
-
在ASP.NET中访问SQL 2005报表服务
在ASP.NET中,有多种方法可以访问SQL 2005的报表服务。\n方法一: 通过ReportView控件\n首先,安装ReportView控件。如果你使用的是SQL 2000报表服务器,到这个目录去找到源码工程 C:Program FilesMicrosoft SQL ServerMSSQLReporting ServicesSamplesApplicationsReportViewervb and C:Program FilesMicrosoft SQL ServerMSSQLReporting ServicesSamplesApplicationsReportViewer cs,然后自
-
GridView中绑定日期字段格式的定义
在GridView的BoundField中定义的日期字段无法像DataGrid的一样定义格式。 \n<asp:BoundField DataField=”SentDate” DataFormatString=”{0:MM/dd/yyyy}” />\n上面的代码不能将日期格式化为预期的效果, 必须将boundfield的HtmlEncode属性设置为false \n<asp:BoundField DataField=”SentDate” DataFormatString=”{0:MM/dd/yy
-
ASP.NET连接Access数据库
首先,需要引入命名空间:System.Data.OleDb,然后才可以连接,代码如下:<%@ Page Language=”VB” %><%@ Import Namespace=”System.Data.OleDb” %><!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>\n
-
Repeater控件分页例子
Repeater和DataList控件提供了一个快速、灵活的表现数据的方式,但是,它们没有内建的分页功能;DataGrid控件提供了内建的分页功能,但它的结构比较复杂。下面就用PagedDataSource类实现Repeater和DataList的分页。 PagedDataSource封装了DataGrid的分页属性,我们可以象DataGrid那样进行分页。代码如下: \nC#版本 _ <%@ Page Language=”C#” %><%@ import namespace=”System.Data” %><%@