您现在的位置: 军旅同心-旅游自驾-军旅文学 >> 读书赏析 >> 学习园地 >> 电脑网络 >> 技术文章 >> 正文
asp.net高级教程(三)-实战篇
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005-9-10 12:37:00
结合论坛用户操作谈asp.net表单验证(上)

    有了前面的知识,现在我们要进入实战。做过asp的朋友都知道表单验证是个比较头疼的问题,有经验的Web程序员有这么一句话,那就是客户端不相信服务器端,服务器端不相信客户端。什么意思呢,就是说做表单验证时服务器端程序不能假定客户端程序是正确的而不加检测,这样如果客户端关闭javascript就可能造成出错,而如果只做服务器端检测,那么需要提交到服务器端再返回,那么效率会大打折扣,并且对于用户极不方便。所以只能客户端和服务器端做两次验证。现在asp.net提供了新的表单验证机制,下面我将结合实例简单讲一下,想要了解asp.net提供的几个验证webcontrol的详细资料,可以参照我的asp+初级教程。
    在讲表单验证以前,先做点准备工作。前面谈到用asp.net开发需要转换编程思维,也就是用面向对象的思想去考虑问题,bbs对象我们已经构造好了,现在让我们来看一下一个论坛系统中另外一个很重要的对象:用户。可以说,论坛系统的主体是用户,没有用户那也就谈不上什么论坛了,所以围绕用户的操作很多,比如说添加/删除用户,查询/修改用户资料等等,有些论坛还有积分机制,根据用户登录次数或发言多少来决定积分,已表明该用户的活跃程度。那么,我们应该如何来构造论坛用户这个对象呢?看看

下面的类定义:
namespace MyOwnClass
{
    using System;
    using MyOwnClass ;
    using System.Data.SQL ;
    using System.Web.Util ;

    ////////////////////////////////////////////////////////////////////
    //
    // Class Name :       BBSUser
    //
    // Description:       论坛用户类,构造一个论坛用户对象
    //
    // date:              2000/02/03
    //
    /// ////////////////////////////////////////////////////////////////
    public class BBSUser
    {
        //新建枚举类型,创建用户方式,创建还是修改
        public enum CreateType
        {
            Create = 0 ,
            Modify
        }

        //私有成员变量
        private int m_intID ;                //用户ID
        private string m_strUserName ;            //用户名
        private string m_strPassword ;            //密码
        private string m_strEmail ;            //用户email
        private string m_strHomepage ;            //个人主页
        private string m_strSignature ;            //签名

        //属性,全部只读
        public int ID
        {
            get
            {
                return m_intID ;
            }
        }

        public string UserName
        {
            get
            {
                return m_strUserName ;
            }
        }

        public string Password
        {
            get
            {
                return m_strPassword ;
            }
        }

        public string Email
        {
            get
            {
                return m_strEmail ;
            }
        }

        public string Homepage
        {
            get
            {
                return m_strHomepage ;
            }
        }

        public string Signature
        {
            get
            {
                return m_strSignature ;
            }
        }
        //构造函数
        public BBSUser()
        {
            //
            // TODO: Add Constructor Logic here
            //
            m_strUserName = "" ;
            m_strPassword = "" ;
            m_strEmail = "" ;
            m_strHomepage = "" ;
            m_strSignature = "" ;
        }

        //根据用户名查询用户资料
        public bool GetUser(string a_strUserName)
        {
            //如果用户名中包含单引号则抛出一个异常
            if (a_strUserName.IndexOf("'") != -1)
            {
                throw(new Exception("用户名包含非法字符")) ;
            }

            bool bExists = false ;

            MyConnection myConn = new MyConnection() ;
            try
            {
                myConn.Open() ;
                SQLCommand myCommand = new SQLCommand() ;
                myCommand.ActiveConnection = myConn ;
                myCommand.CommandText = "select * from BBSUser where

UserName='" + a_strUserName + "'";

                SQLDataReader myReader ;
                myCommand.Execute(out myReader) ;
                
                if (myReader.Read())
                {
                    m_intID = (int)myReader["ID"] ;
                    m_strUserName = myReader["UserName"].ToString() ;
  

[1] [2] [3] 下一页


更多
免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
文章录入:烟灰缸    责任编辑:烟灰缸 
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 网站地图 | 版权申明 | 网站公告 | 管理登录 |