这个问题的可能很奇怪,不过做为一个新手来说是很成问题的
我是搞WEB程序开发,一直是做网站,工作时间也不长才几个月,因为没有高手代过,一直是自己研究,也没有太系统的学过。
最近发现一个问题,在我作网站的,时候,代码的重用率非常高,也就是说,在每个页的后台,我基本上会固定的声明这几个变量
DataSet ds=new DataSet();
string sql;
ing count;
诸如此类变量还有很多
然后我在有些页中可能会固定的使用一些方法
像是
LeaveWordAddCheck()
{}
我试着用封装把方法写在类里,可是很多的方法在类里都写不了
像是方法里有
Session
Page.ClientScript.RegisterStartupScript();
这些东东,在类里无法实现ASP.NET是面向对象的,以前在看书的时候学过封装/多态/继承
因为一直没有用过所以有些忘记了
像我这样的事情是不是可以用继承来实现,应该如何实现说白一些
问题1 我不想在每一页都声明固定的变量
问题2 我不想在某些页都重写固定的方法
我是搞WEB程序开发,一直是做网站,工作时间也不长才几个月,因为没有高手代过,一直是自己研究,也没有太系统的学过。
最近发现一个问题,在我作网站的,时候,代码的重用率非常高,也就是说,在每个页的后台,我基本上会固定的声明这几个变量
DataSet ds=new DataSet();
string sql;
ing count;
诸如此类变量还有很多
然后我在有些页中可能会固定的使用一些方法
像是
LeaveWordAddCheck()
{}
我试着用封装把方法写在类里,可是很多的方法在类里都写不了
像是方法里有
Session
Page.ClientScript.RegisterStartupScript();
这些东东,在类里无法实现ASP.NET是面向对象的,以前在看书的时候学过封装/多态/继承
因为一直没有用过所以有些忘记了
像我这样的事情是不是可以用继承来实现,应该如何实现说白一些
问题1 我不想在每一页都声明固定的变量
问题2 我不想在某些页都重写固定的方法
公用方法写到这里面
所以页面继承此类即可
比如Session可以这样取到
System.Web.HttpContext.Current.Session
公用方法写到这里面
所以页面继承此类即可这个方法好像不错,怎么弄
默认所有的页面类都是继承自Page
比如Test.aspx.cs中类定义
Test : System.Web.UI.Page现在可以改为
Test : PageBase加一个类,定义
PageBase : System.Web.UI.Page
把所有公共的数据与方法写到这个类里面
注意声明为Protected那么在所有页面的类中
就可以直接用this.xxx访问了
再问一下,除了SessionPage.ClientScript.RegisterStartupScript()这个方法我在类中出写不出来,怎么解决,麻烦你了
代码的重用,一般是把各类操作方法写在一个类里面,需要的时候使用这个类里面的函数即可