分类: 技术相关预览模式: 普通 | 列表

ASP.NET实现用户在线检测的类源码 (1)

//online.cs(用户在线检测)
/*程序实现思路:

该用户有以下几个属性:
name:用户名

查看更多...

Tags: .NET

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6610

一个功能很强的验证码程序

这个程序是我一个朋友写的验证码的程序,

基本功能:

输出:数字,数字+字母,数字+字母+中文。。。

查看更多...

Tags: 验证码

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 7303

一个转TXT转成JPG的程序

这个程序是我一个朋友做的,能够读取TXT里的文字,然后输出JPG的格式

那个程序是用VS2005写的,在VS2003下面可能会有点问题

如果是VS2003的用户的话,可以复制CS文件下面的代码也是一样的

查看更多...

Tags: JPG

分类:技术相关 | 固定链接 | 评论: 12 | 引用: 0 | 查看次数: 17913

将图片数据存进数据库的例子

也是例子里看的,比较实用,先发上来.说不定以后有用
1.上传图片数据
private void btnUpload_Click(object sender, System.EventArgs e)
    {
      //得到用户要上传的文件名

查看更多...

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6842

JavaScript 对象与数组参考大全

本文列举了各种JavaScript对象与数组,同时包括对上述每一对象或数组所完成工作的简短描述,以及与其相关的属性方法,以及事件处理程序,还注明了该对象或数组的父对象用户同样可能需要参考Online Companion中的超级文本Object Hierarchy页面(http://www.netscapepress.com/support/javascript/10-9.htm),以便了解这些对象之间是如何相互关联的。
  顺便提一下,记住,这里把所有作为另一对象的子对象的对象看作该对象的属性请参见第十章中与此相关的注解。

  B.1 anchor对象
  使用<A NAME=>标记创建的HTML描点能被一个链接作为目标如果锚点包括HREF=特性,则它也是一个链接对象。

查看更多...

Tags: JS

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6735

ASP.NET生成n位不同的验证码

//生成随机数函数中从strchar 数组中随机抽取
//字母区分大小写
//参数n为生成随机数的位数,一般取四位
public string RandomNum(int n) //
{

查看更多...

Tags: 验证码

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6328

在最近的项目中,遇到一个问题,要实现这样的效果:
点pic_small.Aspx页面的缩略图后弹出pic_all.aspx页面,pic_all.aspx页面的大小要根据图片大小自动调整,而且要有图片的说明信息,还可以点上一幅和下一幅等进行翻页。
实现过程如下:
pic_small.Aspx页面缩略图处的代码为:
<IMG id="imgPic" style="CURSOR: hand" border=0 height="95" onclick="ShowWindow(<%#DataBinder.Eval(Container.DataItem,"ID")%>)" src='<%#"Images/Product/" DataBinder.Eval(Container.DataItem,"PicUrl")%>' width="118" runat="server">

ShowWindow保存在OpenWindows.js文件中,内容如下:

function ShowWindow(id)
{
window.open('pic_all.aspx?ID=' id,'_blank','Scrollbars=no');
}

以下代码即可实现点缩略图后弹出页面pic_all.aspx显示图片信息,下面要实现的是pic_all.aspx页面根据图片的大小自动调整。
把以下代码放在pic_all.aspx页面的<Head></Head>之间:

<script>
function window.onload()
{
var obj=document.getElementById("PicUrl");
window.resizeTo(obj.offsetWidth 127,obj.offsetHeight 75);
}
</script>

查看更多...

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6684

.Net程序如何防止被注入(整站通用)

作者:淘特网

出处:淘特网

注:转载请注明出处

防止sql注入,通常一个一个文件修改不仅麻烦而且还有漏掉的危险,下面我说一上如何从整个系统防止注入。

查看更多...

Tags: SQL 注入

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6669
   文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括:

  1、如何解决文件上传大小的限制

  2、以文件形式保存到服务器

  3、转换成二进制字节流保存到数据库以及下载方法

  4、上传Internet上的资源

  第一部分:

  首先我们来说一下如何解决ASP.net中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改Web.Config文件来自定义最大文件大小,如下:

  这样上传文件的最大值就变成了4M,但这样并不能让我们无限的扩大 MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理。解决的方法是利用隐含的 HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法从IIS为ASP.NET 建立的pipe里分块读取数据。实现方法如下:

IServiceProvidERProvider=(IServiceProvider)HttpContext.Current;
HttpWorkerRequestwr=(HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));
byte[]bs=wr.GetPreloadedEntityBody();
.
if(!wr.IsEntireEntityBodyIsPreloaded())
{
 intn=1024;
 byte[]bs2=newbyte[n];
 while(wr.ReadEntityBody(bs2,n)>0)
 {
  ..
 }
}

  这样就可以解决了大文件的上传问题了。

  第二部分:

  下面我们来介绍如何以文件形式将客户端的一个文件上传到服务器并返回上传文件的一些基本信息。

  首先我们定义一个类,用来存储上传的文件的信息(返回时需要)。

public class FileUpLoad
{
 public FileUpLoad()
 {}
 /**////
 /// 上传文件名称
 ///
 public string FileName
 {
  get
  {
   return fileName;
  }
  set
  {
   fileName = value;
  }
 }
 private string fileName;

 /**////
 /// 上传文件路径
 ///
 public string FilePath
 {
  get
  {
   return filepath;
  }
  set
  {
   filepath = value;
  }
 }
 private string filepath;

 /**////
 /// 文件扩展名
 ///
 public string FileExtension
 {
  get
  {
   return fileExtension;
  }
  set
  {
   fileExtension = value;
  }
 }
 private string fileExtension;
}

  另外我们还可以在配置文件中限制上传文件的格式(App.Config):
<?XML version="1.0" encoding="gb2312" ?>
<Application>
<FileUpLoad>
<Format>.jpg|.gif|.png|.bmp
</FileUpLoad>
</Application>

  这样我们就可以开始写我们的上传文件的方法了,如下:

public FileUpLoad UpLoadFile(HtmlInputFile InputFile,string filePath,string myfileName,bool isRandom)
{
 FileUpLoad fp = new FileUpLoad();
 string fileName,fileExtension;
 string saveName;

 //
 //建立上传对象
 //
 HttpPostedFile postedFile = InputFile.PostedFile;

 fileName = System.IO.Path.GetFileName(postedFile.FileName);
 fileExtension = System.IO.Path.GetExtension(fileName);

 //
 //根据类型确定文件格式
 //
 AppConfig app = new AppConfig();
 string format = app.GetPath("FileUpLoad/Format");

 //
 //如果格式都不符合则返回
 //
 if(format.IndexOf(fileExtension)==-1)
 {
  throw new ApplicationException("上传数据格式不合法");
 }

 //
 //根据日期和随机数生成随机的文件名
 //
 if(myfileName != string.Empty)
 {
  fileName = myfileName;
 }

 if(isRandom)
 {
  Random objRand = new Random();
  System.DateTime date = DateTime.Now;
  //生成随机文件名
  saveName = date.Year.ToString() + date.Month.ToString() + date.Day.ToString() + date.Hour.ToString() + date.Minute.ToString() + date.Second.ToString() + Convert.ToString(objRand.Next(99)*97 + 100);
  fileName = saveName + fileExtension;
 }

 string phyPath = HttpContext.Current.Request.MapPath(filePath);

 //判断路径是否存在,若不存在则创建路径
 DirectoryInfo upDir = new DirectoryInfo(phyPath);
 if(!upDir.Exists)
 {
  upDir.Create();
 }

 //
 //保存文件
 //
 try
 {
  postedFile.SaveAs(phyPath + fileName);

  fp.FilePath = filePath + fileName;
  fp.FileExtension = fileExtension;
  fp.FileName = fileName;
 }
 catch
 {
  throw new ApplicationException("上传失败!");
 }

 //返回上传文件的信息
 return fp;
}

  然后我们在上传文件的时候就可以调用这个方法了,将返回的文件信息保存到数据库中,至于下载,就直接打开那个路径就OK了。

  第三部分:

  这里我们主要说一下如何以二进制的形式上传文件以及下载。首先说上传,方法如下:

public byte[] UpLoadFile(HtmlInputFile f_IFile)
{
 //获取由客户端指定的上传文件的访问
 HttpPostedFile upFile=f_IFile.PostedFile;
 //得到上传文件的长度
 int upFileLength=upFile.ContentLength;
 //得到上传文件的客户端MIME类型
 string contentType = upFile.ContentType;
 byte[] FileArray=new Byte[upFileLength];

 Stream fileStream=upFile.InputStream;

 fileStream.Read(FileArray,0,upFileLength);
 return FileArray;
}

  这个方法返回的就是上传的文件的二进制字节流,这样我们就可以将它保存到数据库了。下面说一下这种形式的下载,也许你会想到这种方式的下载就是新建一个 aspx页面,然后在它的Page_Load()事件里取出二进制字节流,然后再读出来就可以了,其实这种方法是不可取的,在实际的运用中也许会出现无法打开某站点的错误,我一般采用下面的方法:

  首先,在Web.config中加入:

<add verb="*" path="openfile.aspx" type="RuixinOA.Web.BaseClass.OpenFile, RuixinOA.Web"/>

  这表示我打开openfile.aspx这个页面时,系统就会自动转到执行RuixinOA.Web.BaseClass.OpenFile 这个类里的方法,具体实现如下:

using System;
using System.Data;
using System.Web;
using System.IO;
using Ruixin.WorkFlowDB;
using RXSuite.Base;
using RXSuite.Component;
using RuixinOA.BusinessFacade;

namespace RuixinOA.Web.BaseClass
{
 /**////
 /// NetUFile 的摘要说明。
 ///
 public class OpenFile : IHttpHandler
 {
  public void ProcessRequest(HttpContext context)
  {
   //从数据库中取出要下载的文件信息
   RuixinOA.BusinessFacade.RX_OA_FileManager os = new RX_OA_FileManager();
   EntityData data = os.GetFileDetail(id);

   if(data != null && data.Tables["RX_OA_File"].Rows.Count >0)
   {
    DataRow dr = (DataRow)data.Tables["RX_OA_File"].Rows[0];
    context.Response.Buffer = true;
    context.Response.Clear();
    context.Response.ContentType = dr["CContentType"].ToString();
    context.Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(dr["CTitle"].ToString()));
    context.Response.BinaryWrite((Byte[])dr["CContent"]);
    context.Response.Flush();
    context.Response.End();
   }
  }
  public bool IsReusable
  {  
   get { return true;}
  }
 }
}

  执行上面的方法后,系统会提示用户选择直接打开还是下载。这一部分我们就说到这里。

  第四部分:

  这一部分主要说如何上传一个Internet上的资源到服务器。

  首先需要引用 System.Net 这个命名空间,然后操作如下:

HttpWebRequest hwq = (HttpWebRequest)WebRequest.Create("http://localhost/pwtest/webform1.aspx");
HttpWebResponse hwr = (HttpWebResponse)hwq.GetResponse();
byte[] bytes = new byte[hwr.ContentLength];
Stream stream = hwr.GetResponseStream();
stream.Read(bytes,0,Convert.ToInt32(hwr.ContentLength));
//HttpContext.Current.Response.BinaryWrite(bytes);

  HttpWebRequest 可以从Internet上读取文件,因此可以很好的解决这个问题。

  第五部分:总结

  今天简单的介绍了几种文件上传与下载的方法,都是在实际的项目开发中经常需要用到的,可能还有不完善的地方,希望大家可以互相交流一下项目开发中的经验。
分类:技术相关 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 6786

Ajax学习资源大全

我一般非经典或者自己用不上不转载,所以如果你不幸看见了的话,恰恰你又对AJAX有兴趣的话不防看下,也许对你有用的!!

一.资源类网站

1,国内网站

1)Ajax中国(推荐)

一个专业的ajax技术网站,分类清晰,有大量的电子版教程,以及AJAX源码下载!

www.okajax.com

2)ajaxcn.org

李琨老师的blog。李琨:《ajax实战》译者.

www.ajaxcn.org

-----------------------------------------

2,国外网站

1)、Ajax的诞生

Ajax:ANewApproachtoWebApplications

www.adaptivepath.com/publications/essays/archives/000385.php

2)、AJAXMatters

www.ajaxmatters.com

关于Ajax技术一个信息量非常大的网站,有点像Ajax世界中的TSS。

3)、AJAXPatterns

与AJAX设计模式相关的资源。

www.ajaxpatterns.org

www.softwareas.com/ajax-patterns

4)、http://www.ajaxian.com

二.热门文章

1.什么是AJAX

www.okajax.com/info/net/20060510.html

2.ajax技术简介

www.okajax.com/info/basic/200604654.html

3.ajax.net

www.okajax.com/info/basic/200604556.html

www.okajax.com/info/tech/200605589.html

weblogs.asp.net/mschwarz/archive/2005/04/11/399893.aspx(英文)

三.ajax相关下载(电子书教程/源码)

1.Ajax基础教程电子版

www.okajax.com/info/bookdown/200604950.htm

2.《AJAX实战》ajaxinaction电子版

www.okajax.com/info/bookdown/200604366.htm

3.AJAX开发简略

www.okajax.com/info/bookdown/20060538.htm

4.AJAX版CD管理系统(jsp)

www.okajax.com/info/codedown/200604327.htm

5.Alexa查询系统(Xmlhttp+Ajax)

www.okajax.com/info/codedown/200604982.htm

6.ASP.NET+AJAX解决网页打开等待问题

www.okajax.com/info/codedown/200604166.htm

7.Ajax技术简介(ajaxdemo)

www.okajax.com/info/codedown/200604576.htm

四.ajax相关图书

1.《Ajax实战》(目前Ajax领域最为全面深入的一本著作)

www.china-pub.com/computers/common/info.asp?id=28433

2.《Ajax基础教程》(亚马逊计算机榜首图书,国内第1本Ajax图书)

www.china-pub.com/computers/common/info.asp?id=28432

3.《Ajax修炼之道-Web2.0入门》(Ajax从小工到专家的首选图书)

www.china-pub.com/computers/common/info.asp?id=29430

4.《征服Ajax+Lucene构建搜索引擎》

www.china-pub.com/computers/common/info.asp?id=29996

5.《征服Ajax--Web2.0快速入门与项目实践(.net)》

www.china-pub.com/computers/common/info.asp?id=29995

6.《Ajax开发精要--概念、案例与框架》

www.china-pub.com/computers/common/info.asp?id=30006

7.AJAX——新手快车道
            
                http://www.sp1.cn/ajax/info/bookdown/200605663.htm

            8,Ajax 探密 (Ajax Hacks )

                http://www.sp1.cn/ajax/info/bookdown/20060540.htm

            9.Ajax基础教程电子版
            
                http://wh.wlha.com.cn/bbs/pic/ajaxbasic.rar
               

五.部分技术文章

www.dragonson.com/doc/ajax.html

Ajax内部交流文档

info96.k12studio.com/~nio/comments.php?id=242_0_1_0_C

简单地对Ajax进行描述介绍

www.adaptivepath.com/publications/essays/archives/000385.php

Ajax:ANewApproachtoWebApplications

jibbering.com/2002/4/httprequest.html

UsingtheXMLHTTPRequestobject

developer.apple.com/internet/webcontent/xmlhttpreq.html

DynamicHTMLandXML:TheXMLHttpRequestObject

del.icio.us/popular/ajax

www.fiftyfoureleven.com/resources/programming/xmlhttprequest/examples

XMLHttpRequest&AjaxWorkingExamples

www.xml.com/lpt/a/2005/02/09/xml-http-request.html

VeryDynamicWebInterfaces

www.standards-schmandards.com/index.php?2005/03/01/16-ajax-and-accessibility

AJAXandAccessibility

www.xml.com/lpt/a/2005/05/11/ajax-error.html

ErrorsandAJAX

www.softwareas.com/ajax-patterns

AJAXPatterns:DesignPatternsforAJAXUsability

www.backbase.com/download/Whitepaper%20Backbase%20AJAX%20and%20Beyond.pdf

WhitepaperBackbaseAJAXandBeyond

www.ajaxpatterns.org/index.php?title=Main_Page

AJAXpatterns

www.onlamp.com/pub/a/onlamp/2005/05/19/xmlhttprequest.html

 

在增加一个,有些基础教程,虽然不多,但是都蛮有用的!
http://www.sp1.cn/ajax/info/basic/index.htm
 

在ASP.NET中实现AJAX(1)
http://www.51cto.com/html/2005/1118/11651.htm

漫谈Ajax在.Net中的使用
http://tech.acnow.net/Html/Web/ASPNET/ASPNET_Skill/2006-7/5/134118565.shtml

Ajax & XMLHttpRequset
http://tech.acnow.net/Html/Web/ASP/ASP_Skill/2006-6/15/163322869.shtml

了解Ajax框架
http://kb.csdn.net/java/Articles/200606/0964add7-c017-484e-9652-5d85030222c5.html

Tags: AJAX

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 9680

Asp.net动态生成html页面

此功能适用于后台数据库功能不强的web站点,即大部分文本不是存放在数据库的记录中,而是放在html文件或者xml文件中,仅仅把索引放到数据库中,如文章标题、类别、查询关键字等。这样适合于后台没有诸如MS Sql Server这样的数据库支持的Web站点。 

适用于新闻发布系统,比如sina、163等都是采用动态生成html页面的。 

适用于需动态定制页面的程序。比如论坛、聊天室等。可以加载定制好的html页面,来加强美观。 

查看更多...

Tags: HTML

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6162

利用ajax技术实现.net中无刷新回拨页面

偶尔在网上发现了ajax的无刷新回拨页面技术,不敢独享,特来分享.

第一步:

       在您的.net项目中添加ajax.dll引用.

查看更多...

Tags: .NET AJAX 无刷新

分类:技术相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 8021