★(ChengKing)【夜战鹰】【迎接光辉岁月|说声真的爱你|踏着灰色轨迹|遥望大地情人】★

[首页♂] 【夜战鹰的博客】【专注于DotNet技术】【ChengKing(ZhengJian)】

郑健ID:ChengKing
519003次访问,排名82好友122人,关注者199
2006~2009 MS-MVP, MSDN中文技术论坛版主
【夜战鹰】【ChengKing(ZhengJian)】
ChengKing的文章
原创 172 篇
翻译 0 篇
转载 0 篇
评论 858 篇
【郑健(ChengKing)】【夜战鹰】的公告
【在这里放广告】
【夜战鹰的博客】
【专注于.Net技术】【.Net控件开发】
技术交流/合作联系方式:
【MSN/Email:King.Zheng@hotmail.com】

【下面是快速分类链接, 若想查看本Blog所有文章可以点击下面[文章]区域块的按技术分类的各个链接】


(1). Net 教程系列(Asp.net/
Ajax/JQuery/SilverLight/控件开发等)


(2). NET系列丛书

(3). C# GAME

(4). 网站(学习/源代码资源下载)

(5). 用友软件园工作环境

(2006~2009 MS-MVP)


相关文章,我尽量提供了图片示例和代码下载链接!
[如果遇到问题请给我发信息]
您可以直接点击相应链接进行下载 :)

如果文章对您有所帮助,请支持一下!
如果文章有不正确的地方,敬请指点!
多谢!!!!!

请选择下面链接,可以分类别的阅读文章:

最近评论
critoiiy:critoiiy
精力剤
すすきの
デリヘル
conn.Open();

myAdapter.Update(ds,strTblName);

conn.Close();

这个地方要打开连接,关闭吗?
yang_computer:蓝天学院的人才
aqbeyond:请问可不可以加上密码的功能呢?
我想加上一个密码,就想ZIP文件一样,需要有密码才能打开,请问该如何实现呢?
aqbeyond:请问可不可以加上密码的功能呢?
我想加上一个密码,就想ZIP文件一样,需要有密码才能打开,请问该如何实现呢?
文章分类
收藏
    相册
    技术活动
    九峰山留念
    在 OWIWP 日子
    在用友软件日子
    Good Blogs
    BennyMavis(水晶报表)(RSS)
    Bruce Zhang(RSS)
    cityhunter172(RSS)
    Clingingboy(RSS)
    dudu(RSS)
    goody9807(RSS)
    huangkw007(RSS)
    LoveCherry(RSS)
    mapserver(RSS)
    Rickie Lee(RSS)
    saucer(RSS)
    Scott Guthrie 博客中文版[CSDN,译者思归](RSS)
    Scott Guthrie 博客中文版[博客堂](RSS)
    Silverlight上海团队(RSS)
    singlepine(RSS)
    TerryLee(RSS)
    zjcxc(RSS)
    中国龙(RSS)
    叶帆(刘洪峰)(RSS)
    吕震宇(RSS)
    孟子E章(.net)(RSS)
    孟宪会(RSS)
    孟岩(RSS)
    寒羽枫(RSS)
    张友邦[架构专家](RSS)
    推荐系列(自TerryLee)(RSS)
    曾登高(RSS)
    朱春雷[软件工程](RSS)
    李宁(RSS)
    李维(RSS)
    清清月儿[黄鸣](RSS)
    王洪伟(SOA专家)(RSS)
    王磊(webabcd)(RSS)
    白慧冬(青润)[软件工程](RSS)
    胡百敬(RSS)
    蝈蝈俊.net(RSS)
    袁峰(RSS)
    谭振林(RSS)
    赵劼(RSS)
    速马(RSS)
    郑昀(RSS)
    陈黎夫(RSS)
    陕北吴旗娃(RSS)
    青润意愿(RSS)
    飞驰之剑(RSS)
    马宁(RSS)
    Good Sites
    4guysfromrolla.com(RSS)
    asp.net(RSS)
    aspalliance.com(RSS)
    beansoftware.com(RSS)
    codeplex.com(RSS)
    codeproject.com(RSS)
    c-sharpcorner.com(RSS)
    dotnetbips.com(RSS)
    dotnetslackers.com(RSS)
    hookedonlinq.com(RSS)
    MSDN Code Gallery(RSS)
    msdn en(RSS)
    Nikhil Kothari(RSS)
    Scott Guthrie(RSS)
    sourceforge.net(RSS)
    其它链接
    2006年100首好歌(RSS)
    2006年十二星座运程目录(RSS)
    2006年十二生肖运程运势(RSS)
    地图(RSS)
    社区/官方文档
    CSDN社区(RSS)
    MSDN网站(RSS)
    博客堂(RSS)
    微软Asp.net 2.0官方网站(RSS)
    微软Visual Studio 专区(RSS)
    微软中国社区(RSS)
    微软中文技术社区(RSS)
    文章链接
    C# Excel报表(RSS)
    CSDN新版图形验证码初级识别 (RSS)
    JavaScript技巧(一)(RSS)
    JavaScript技巧(二)(RSS)
    MINE类型(RSS)
    Share Point(RSS)
    多级下拉菜单(singlepine)(RSS)
    星月同辉 e路随行(文件下载)(RSS)
    我的其它Blog
    My IT博客网 Blog(RSS)
    My 博客园 Blog(RSS)
    My 博客园 blog(RSS)
    学习站点
    ASP.NET架构师[群组](RSS)
    Asp.net频道专家圈(RSS)
    King's CSDN下载资源(RSS)
    Microsoft XNA游戏开发网(RSS)
    象棋研究(RSS)
    优秀团队列表
    .Net 商业智能(RSS)
    .NetFramework3.0&WinFX团队(RSS)
    .NET控件与组件开发(RSS)
    ASP.NET AJAX学习(RSS)
    Asp.net(C#)四层架构自助建站系统(RSS)
    Design&Pattern团队(RSS)
    Dot Net Web服务和Windows服务开发(RSS)
    DotNet频道→ASP.NET(RSS)
    Enterprise Library(RSS)
    O/R Mapping团队(RSS)
    SharePoint团队(RSS)
    Skin设计小组(RSS)
    SOA研究室(RSS)
    Windows Mobile 应用开发(RSS)
    博客园培训团队(RSS)
    开源项目团队(RSS)
    自动识别与数据采集(RSS)
    计算机图形学(RSS)
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Ajax即时实现服务端数据验证(Asp.net 2.0)(示例代码下载)收藏

    新一篇: AjaxPro.NET框架实现服务端即时数据验证(Asp.net 2.0)(示例代码下载)  | 旧一篇: 人生路上好文章[收藏]

    学习  [征服Ajax——Web 2.0快速入门与项目实践(.net)] 

    (一) . 运行效果如下:

    (二). 代码

           1. 页面 *.aspx 前台代码如下:

     1<body>
     2    <form id="form1" runat="server">
     3    <script type="text/javascript">
     4        var cbo = new CallBackObject();
     5        cbo.OnComplete=Cbo_Complete;
     6        cbo.OnError=Cbo_Error;
     7        function CheckUserName(UserName)
     8        {          
     9            var msg = document.getElementById('lblMessage');
    10            if( UserName.length > 0 )
    11            {                
    12                cbo.DoCallBack('tbUsername','');                                                  
    13            }

    14            else
    15            {                
    16                cbo.AbortCallBack();
    17                msg.innerHTML = '';              
    18            }

    19        }

    20        function Cbo_Complete(responseText, responseXML)
    21        {
    22            var msg = document.getElementById('lblMessage');
    23            if( responseText == '0' )
    24            {
    25                msg.innerHTML = '合法用户!';
    26                msg.style.color='green';                
    27            }
                
    28            else if( responseText == '1' )
    29            {
    30                msg.innerHTML = '用户名长度必须在 3 到 15 之间, 且不包含字母/数字/下划线以外的字符!';
    31                msg.style.color = 'red';
    32            }

    33            else
    34            {
    35                msg.innerHTML = '用户名不存在!';
    36                msg.style.color = 'red';
    37            }

    38        }

    39        function Cbo_Error( status, statusText, responseText )
    40        {
    41            //alert( 'status=' + status + '  responseText=' + responseText + '  statusText=' + statusText );          
    42        }

    43    </script>
    44    <div>        
    45        <asp:Panel ID="Panel1" runat="server" BackColor="#C0C0FF" Font-Bold="True" Font-Overline="False"
    46            Font-Size="XX-Large" Height="37px" Width="459px">
    47            AJAX 数据验证</asp:Panel>
    48        <br />
    49        <hr align="left" style="width: 463px" />
    50        <br />
    51        输入用户名:&nbsp;
    52        <asp:TextBox ID="tbUsername" runat="server" OnTextChanged="tbUsername_TextChanged"></asp:TextBox><br />
    53        <br />
    54        <asp:Label ID="lblMessage" runat="server" Width="246px"></asp:Label></div>
    55    </form>
    56</body>

    2. 页面 *.aspx.cs后台代码如下:

     1  1public partial class _Default : System.Web.UI.Page 
     2  2{
     3  3    protected void Page_Load(object sender, EventArgs e)
     4  4    {
     5  5       tbUsername.Attributes.Add("OnKeyUp""CheckUserName(this.value)");       
     6  6    }
     7  7   protected void tbUsername_TextChanged(object sender, EventArgs e)
     8  8   {
     9  9      if (!CallBackHelper.IsCallBack)
    10 10         return;     
    11 11
    12 12      string strName = tbUsername.Text;
    13 13
    14 14      try
    15 15      {
    16 16         string strReturnCode;
    17 17         if (!IsValidUsername(strName))
    18 18         {
    19 19            strReturnCode = "1";
    20 20         }
    21 21         else if (!IsUsernameExist(strName))
    22 22         {
    23 23            strReturnCode = "2";
    24 24         }
    25 25         else
    26 26         {
    27 27            strReturnCode = "0";
    28 28         }
    29 29         CallBackHelper.Write(strReturnCode);
    30 30      }
    31 31      catch (Exception ex)
    32 32      {
    33 33         CallBackHelper.HandleError(ex);
    34 34      }        
    35 35   }
    36 36   private bool IsUsernameExist(string strUsername)
    37 37   {
    38 38      bool bRet = false;
    39 39
    40 40      switch (strUsername.ToUpper())
    41 41      {
    42 42         case "KING":
    43 43         case "ROSE":         
    44 44         bRet = true;
    45 45         break;
    46 46      }
    47 47
    48 48      return bRet;
    49 49   }
    50 50
    51 51   private bool IsValidUsername(string strUsername)
    52 52   {
    53 53      return (Regex.IsMatch(strUsername, @"^(\w{3,15})$"));
    54 54   }
    55 55}

    3. Ajax主要的JS文件代码如下:

      1   1 // JScript File
      2   2 function CallBackObject()
      3   3 {
      4   4     this.XmlHttp = this.GetHttpObject();
      5   5 }
      6   6 CallBackObject.prototype.GetHttpObject = function()
      7   7 {
      8   8     var xmlhttp;
      9   9       /*@cc_on
     10  10       @if (@_jscript_version >= 5)
     11  11         try {
     12  12           xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
     13  13         } catch (e) {
     14  14           try {
     15  15             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
     16  16           } catch (E) {
     17  17             xmlhttp = false;
     18  18           }
     19  19         }
     20  20       @else
     21  21       xmlhttp = false;
     22  22       @end @*/
     23  23     if!xmlhttp && typeof XMLHttpRequest != 'undefined' )
     24  24     {
     25  25         try
     26  26         {
     27  27             xmlhttp =  new XMLHttpRequest();
     28  28         }
     29  29         catch( e )
     30  30         {
     31  31             xmlhttp = false;
     32  32         }
     33  33     }
     34  34     return xmlhttp;
     35  35 }
     36  36 CallBackObject.prototype.DoCallBack = function( eventTarget,eventArgument)
     37  37 {    
     38  38     var theData = '';
     39  39     var theform = document.forms[0];
     40  40     var thePage = window.location.pathname + window.location.search;
     41  41     var eName = '';
     42  42     theData = '__EVENTTARGET=' + escape(eventTarget.split("$").join(":")) + '&';      
     43  43     theData += '__EVENTTARGUMENT=' + eventArgument + '&';
     44  44         
     45  45     theData += '__VIEWSTATE=' + escape(theform.__VIEWSTATE.value).replace(new RegExp('\\+','g'),'%2b'+ '&';    
     46  46     theData += 'IsCallBack=true&';
     47  47     for(var i = 0; i < theform.elements.length; i++)
     48  48     {
     49  49         eName = theform.elements[i].name;              
     50  50         if( eName && eName != '')
     51  51         {
     52  52             if( eName == '__EVENTARGET' || eName == '__EVENTARGUMENT' || eName == '__VIEWSTATE' )
     53  53             {                
     54  54             }
     55  55             else
     56  56             {
     57  57                 theData = theData + escape(eName.split("$").join(":")) + '=' + theform.elements[i].value;                
     58  58                 if( i!= theform.elements.length - 1 )
     59  59                 {
     60  60                     theData = theData + '&';
     61  61                 }
     62  62             }
     63  63         }        
     64  64     }    
     65  65     ifthis.XmlHttp )
     66  66     {
     67  67         ifthis.XmlHttp.readyState == 4 || this.XmlHttp.readyState == 0 )
     68  68         {                   
     69  69             var oThis = this;
     70  70             this.XmlHttp.open('POST', thePage, true);
     71  71             this.XmlHttp.onreadystatechange = function()
     72  72        &nbs