1.GSC_WebControlLibrary 这是在网上找到的一个控件,非常好用。但是效果不是特别好(见下图。
)虽然容易使用,所有的属性都可以像控件一样设置,但是可用性不太高。用户不能自定义,而且看起来这个验证码效果不太好。
效果:
2.用一个页面生成图片,另一个页面调用,验证码存入cookie,调用时取cookie对比验证.这个用户就可以按自己的喜好更改效果和验证码的长度了 (:
效果如图:
代码如下:
CheckCode.aspx
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
public partial class Tools_CheckCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
&n ......
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace zhixiaojia.Webctr.WebControls
{
[DefaultProperty("Text")]
[ToolboxData("<{0}:LanLabel runat=server></{0}:LanLabel>")]
public class LanLabel : WebControl
{
[Bindable(true)]
[Category("Appearance")]
[DefaultValue("LanguageLabel")]
[Localizable(true)]
public string Text
{
get
{
&nb ......
1、.Net的HTTP请求
.NET与ASP的运行机制有很大不同.
ASP的请求与响应是,ASP页面被请求,然后逐行解释.是基于过程的.最多是包含了文件,需要先引入文件罢了.
而.Net,在页面被请求后,首先是加载HTTP Module,这不是本文的重点.然后再加载HTTP
Handler.这也不是本文的重点.加载的这两项,都需要在Webconfig文件中配置.大家知道的URL转址就是这么实现的.在完成这些之后才开始
给出响应的页面.
在给出响应页面的工作中,.Net就表现出和ASP的最大区别来..Net是面向对象的语言,是基于类的语言.没有类很难写出有意义的.Net程序.如果写出来,也就是个ASP的翻版.
2、.NET中基本文件结构(继承关系)
首先大家看到无论在1.1还是2.0中,用VS创建的网站每个ASPx文件都对应一个cs文件(或者vb等其它语言).而cs文件里的类一般和文件同名,
如果遇见关键字的情况才会自动使类名前加个'_',例如:_Default.创建的这个cs文件继承自System.Web.UI.Page类,而且只
能\必须继承该类.原因就是ASPx文件是继承cs文件的.
就拿Default.ASPx,Default.ASPx.cs文件来说.
Default.ASPx.cs里包含了类 _Default,继承字System.Web.UI.Page
通过
public class _Default : System.Web.UI.Pag ......
前段时间因为一特定需求写了下面代码。需求如下:在用户访问本站所有aspx页面时,首先判断用户Session["login"]是否存在,如果不存在,说明该用户未登陆,要让该用户跳转到指定的页面。所以想写一个Session的过滤器,思前想后应该写一个继承IHttpModule的处理类。试验了几种方式发现只有将方法加在.AcquireRequestState中才能读取session。
共享代码如下 MyModule.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// MyModule 的摘要说明
/// </summary>
public class MyModule:IHttpModule
{
public MyModule()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region IHttpModule 成员
&n ......
private
static
CacheItemRemovedCallback OnCacheRemove
=
null
;
protected
void
Application_Start(
object
sender, EventArgs e)
{
AddTask(
"
DoStuff
"
,
60
);
}
private
void
AddTask(
string
name,
int
seconds)
{
OnCacheRemove
=
new
CacheItemRemovedCallback(CacheItemRemoved);
HttpRuntime.Cache.Insert(name, seconds,
null
,
DateTime.Now.AddSeconds(seconds), Cache.NoSlidingExpiration,
CacheItemPriority.NotRemovable, OnCacheRemove);
}
public
void
CacheItemRemoved(
string
k,
object
v, CacheItemRemovedReason r)
{
//
do stuff here if it mat ......
ASP.NET网络编程中常用到的27个函数集
Abs(number) 取得数值的绝对值。
Asc(String) 取得字符串表达式的第一个字符ASCII 码。
Atn(number) 取得一个角度的反正切值。
CallByName (
object
, procname, usecalltype,[args()]) 执行一个对象的方法、设定或传回对象的属性。
CBool(expression) 转换表达式为Boolean 型态。
CByte(expression) 转换表达式为Byte 型态。
CChar(expression) 转换表达式为字符型态。
CDate(expression) 转换表达式为Date 型态。
CDbl(expression) 转换表达式为Double 型态。
CDec(expression) 转换表达式为Decimal 型态。
CInt(expression) 转换表达式为Integer 型态。
CLng(expression) 转换表达式为Long 型态。
CObj(expression) 转换表达式为Object 型态。
CShort(expression) 转换表达式为Short 型态。
CSng(expression) 转换表达式为Single 型态。
CStr(expression) 转换表达式为String 型态。
Choose (index, choice
-
1
[, choice
-
2
, ... [, choice
-
n]]) 以索引值来选择并传回所设定的参数。
Chr(charcode) 以ASCII 码来取得字符内容。
Close(filenumberlist) 结束使用Open 开启的档案。 ......