1.一个读写数据库操作的功能
2.一个对用户提交进行操作的功能(基本操作,所以写在一个功能块里)
3.取得用户提交的信息和返回上面第二步操作的结果
我现在用的方法是读写数据库操作的是一个类
上面第二步操作的方法我是写了一些函数,在每个cs文件里都复制了一个。我在想可不可以把第二步的功能也写成一个类,但关键是在类里面没有Response.Wirte函数和Resquest另外实现上面的功能,可有更好的方法,如果把1和2这两步做成dll文件,是否可行

解决方案 »

  1.   

    Response.Wirte函数和Resquest在类里面也可以用,如System.Web.HttpContext.Current.Response.Write("test");
    string id=System.Web.HttpContext.Current.Request["id"];把操作数据库等公用内容独立出来或封装起来,参考http://singlepine.cnblogs.com/articles/255374.html
      

  2.   

    也可以封装啊,你可以把Response社成变量,初始化类的时候对其副值就可以了啊
    操作数据库一般都是封装到数据访问类里的,根据具体需求决定封装的集成度
      

  3.   

    搭车讨论一下,关于第二种的,我觉得在每个页面都复制一个可能是多些一举的,在DELPHI中都可以做一个类,然后调用,现在转用C#,在类中的定义只能是 Public static int ...这样定义,所以大家看看我下面的代码有没有问题?
    一个简单的检测EMAIL地址是否合法的问题,用到了static,不知道在调用的时候所得到的值会不会正确返回?
    public static  Boolean CheckEmail(string email)
        {
            if (email.Trim() == "")
                return false;
            if (email.Length < 1 || email.Length > 50)
                return false;        if (email.IndexOf("@") < 2 || email.IndexOf(".") < 2)
                return false;
            string[] tmpStr = null;
            tmpStr = email.Split(',');
            if (tmpStr.Length > 1 && tmpStr[1].Length < 1)
            {
                return false;
            }
            return true;
        }
      

  4.   

    谢谢各位,我具体再试试,想问一下做成dll是否合适,特别是在asp.net,做成dll对性能的影响是否很大?
      

  5.   

    不会有影响的,而且对于常用的代码,做成DLL的好处也是显而易见的,每次使用只需简单的引用该DLL即可..常用DLL也分为父DLL,和子DLL..父DLL是最经常用的,比如,截取,SQL防注入函数,常用JS代码封套等,子DLL是针对当前项目的一些DLL,并不是每个项目都常用的.
      

  6.   

    bingbingcha(不思不归,不孟不E,原来是头大灰狼)
    可否给个引用dll的例子?或引用dll的代码。
      

  7.   

    我的做法是这样:建一个命名空间,其中包括两个类文件,A包含常规的数据操作函数,要求用一个连接字符串作为构造函数的参数;B包含其它常规的函数,并用连接字符串实例化类A作为一个public变量,然后其它的页面就继承类B即可。
      

  8.   

    回复人: lfpsoft(聪聪) ( )  
     
       但是所有页面如何共用一个连接呢?各位是如何做的?
      
     这个简单
    象这种连接字符串的东西放在web.config里appSettings
    在DLL里用congifurations.appsettings读出来
    担心相对路径问题的话,在SUB NEW()里用MAPPATH映射下路径就OK了