这个问题的可能很奇怪,不过做为一个新手来说是很成问题的
我是搞WEB程序开发,一直是做网站,工作时间也不长才几个月,因为没有高手代过,一直是自己研究,也没有太系统的学过。
最近发现一个问题,在我作网站的,时候,代码的重用率非常高,也就是说,在每个页的后台,我基本上会固定的声明这几个变量
DataSet ds=new DataSet();
string sql;
ing count;
诸如此类变量还有很多
然后我在有些页中可能会固定的使用一些方法
像是
LeaveWordAddCheck()
{}
我试着用封装把方法写在类里,可是很多的方法在类里都写不了
像是方法里有
Session
Page.ClientScript.RegisterStartupScript();
这些东东,在类里无法实现ASP.NET是面向对象的,以前在看书的时候学过封装/多态/继承
因为一直没有用过所以有些忘记了
像我这样的事情是不是可以用继承来实现,应该如何实现说白一些
问题1 我不想在每一页都声明固定的变量
问题2 我不想在某些页都重写固定的方法

解决方案 »

  1.   

    写个PageBase派生自Page
    公用方法写到这里面
    所以页面继承此类即可
      

  2.   

    用另外的类也可,方法写成静态,直接调用
    比如Session可以这样取到
    System.Web.HttpContext.Current.Session
      

  3.   

    写个PageBase派生自Page
    公用方法写到这里面
    所以页面继承此类即可这个方法好像不错,怎么弄
      

  4.   

    看一下页面代码
    默认所有的页面类都是继承自Page
    比如Test.aspx.cs中类定义
    Test : System.Web.UI.Page现在可以改为
    Test : PageBase加一个类,定义
    PageBase : System.Web.UI.Page
    把所有公共的数据与方法写到这个类里面
    注意声明为Protected那么在所有页面的类中
    就可以直接用this.xxx访问了
      

  5.   

    嗯,真的不错,哎,我的基础太差了,真应该找个机会从头把书好好看一下
    再问一下,除了SessionPage.ClientScript.RegisterStartupScript()这个方法我在类中出写不出来,怎么解决,麻烦你了
      

  6.   

    jf,楼主的需求继承page的父类可以解决。
    代码的重用,一般是把各类操作方法写在一个类里面,需要的时候使用这个类里面的函数即可