当前位置: 代码迷 >> ASP.NET >> 怎么制作基类页面,其他的页面从它继承过来?是制作.cs还是.aspx怎么继承,能给出步骤么
  详细解决方案

怎么制作基类页面,其他的页面从它继承过来?是制作.cs还是.aspx怎么继承,能给出步骤么

热度:3310   发布时间:2013-02-25 00:00:00.0
如何制作基类页面,其他的页面从它继承过来?是制作.cs还是.aspx如何继承,能给出步骤么?
如何制作基类页面,其他的页面从它继承过来?是制作.cs还是.aspx如何继承,能给出步骤么? 

就是很多的页面的处理一样的,不一样的就是我们写的存储过程不同,还有页面的一些名字不同
应如何写一基类页面,别的页面继承?

能给个例子嘛?发邮件也可以..如有,另300分再开一贴相送..谢谢

------解决方案--------------------------------------------------------
1\是写一个.cs文件做为基类,不过这个基类要继承自system.web.ui.page
public class a:system.web.ui.page
{
这个基类的某方法完成你的工作,如重写page类某方法
}

2\你的.aspx文件要继承自a
------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
Discuz!NT PageBase基类
C# code
using System;using System.IO;using System.Web;using System.Text.RegularExpressions;using Discuz.Forum;using Discuz.Common;using Discuz.Config;using Discuz.Entity;namespace Discuz.Web.UI.Pages{    /// <summary>    /// Discuz!NT页面基类    /// </summary>    public class BasePage : System.Web.UI.Page    {            public string forumpath = BaseConfigs.GetForumPath;                /// <summary>        /// BasePage类构造函数        /// </summary>        public BasePage()        {            config = GeneralConfigs.GetConfig();            LoadUrlConfig();                        userid = Utils.StrToInt(ForumUtils.GetCookie("userid"), -1);            //清空当前页面查询统计            Discuz.Data.DbHelper.QueryCount = 0;             // 如果启用游客页面缓存            if (userid == -1)            {                if (config.Guestcachepagetimeout > 0)                {                    switch (pagename)                    {                        case "website.aspx":                            isguestcachepage = GetCachePage(pagename);                            break;                        case "forumindex.aspx":                            isguestcachepage = GetCachePage(pagename);                            break;                        case "spaceindex.aspx":                            isguestcachepage = GetCachePage(pagename);                            break;                        case "albumindex.aspx":                            isguestcachepage = GetCachePage(pagename);                            break;                        case "showtopic.aspx":                            int pageid = DNTRequest.GetQueryInt("page", 1);                            int topicid = DNTRequest.GetQueryInt("topicid", 0);                            if (pageid == 1 && DNTRequest.GetParamCount() == 2 && topicid > 0 && ForumUtils.ResponseTopicCacheFile(topicid, config.Guestcachepagetimeout))                            {                                TopicStats.Track(topicid, 1);                                return;                            }                            break;                        default:                            //                            break;                    }                }            }            AddMetaInfo(config.Seokeywords, config.Seodescription, config.Seohead);            if (config.Nocacheheaders == 1)            {                System.Web.HttpContext.Current.Response.BufferOutput = false;                System.Web.HttpContext.Current.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);                System.Web.HttpContext.Current.Response.Cache.SetExpires(DateTime.Now.AddDays(-1));                System.Web.HttpContext.Current.Response.Expires = 0;                System.Web.HttpContext.Current.Response.CacheControl = "no-cache";                System.Web.HttpContext.Current.Response.Cache.SetNoStore();            }                      //当为forumlist.aspx或focuslist_aspx,可能出现在线并发问题,这时系统会延时2秒            if((pagename != "forumlist.aspx") && (pagename != "focuslist.aspx"))            {                oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout);            }            else            {                try                {                    oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout);                }                catch                {                    System.Threading.Thread.Sleep(2000);                    oluserinfo = OnlineUsers.UpdateInfo(config.Passwordkey, config.Onlinetimeout);                }            }            userid            = oluserinfo.Userid;            usergroupid        = oluserinfo.Groupid;            username        = oluserinfo.Username;            password        = oluserinfo.Password;            if (password.Length > 16)            {                userkey        = password.Substring(4, 8).Trim();            }            else            {                userkey        = "";            }            lastposttime    = oluserinfo.Lastposttime;            lastpostpmtime    = oluserinfo.Lastpostpmtime;            lastsearchtime    = oluserinfo.Lastsearchtime;            olid = oluserinfo.Olid;            if (Utils.InArray(DNTRequest.GetString("selectedtemplateid"), Templates.GetValidTemplateIDList()))            {                templateid = DNTRequest.GetInt("selectedtemplateid", 0);            }            else if (Utils.InArray(Utils.GetCookie(Utils.GetTemplateCookieName()), Templates.GetValidTemplateIDList()))            {                templateid = Utils.StrToInt(Utils.GetCookie(Utils.GetTemplateCookieName()), config.Templateid);            }            if (templateid == 0)            {                templateid = config.Templateid;            }                       pmsound = Utils.StrToInt(ForumUtils.GetCookie("pmsound"), 0);            usergroupinfo = UserGroups.GetUserGroupInfo(usergroupid);            // 根据用户组得到相关联的管理组id            useradminid        = usergroupinfo.Radminid;            // 如果论坛关闭且当前用户请求页面不是登录页面且用户非管理员, 则跳转至论坛关闭信息页            if (config.Closed == 1 && pagename != "login.aspx" && pagename != "logout.aspx" && pagename != "register.aspx" && useradminid != 1)            {                ShowMessage(1);                return;            }            if (config.Onlinetimeout > 0 && userid != -1)            {                onlineusercount = OnlineUsers.GetOnlineAllUserCount();            }            else            {                onlineusercount = OnlineUsers.GetCacheOnlineAllUserCount();            }            if (onlineusercount >= config.Maxonlines && useradminid != 1 && pagename != "login.aspx" && pagename != "logout.aspx")            {                ShowMessage("抱歉,目前访问人数太多,你暂时无法访问论坛.", 0);                return;            }                    if (usergroupinfo.Allowvisit != 1 && useradminid != 1 && pagename != "login.aspx" && pagename != "register.aspx" && pagename != "logout.aspx" && pagename != "activationuser.aspx")            {                ShowMessage("抱歉, 您所在的用户组不允许访问论坛", 2);                return;            }            // 如果IP访问列表有设置则进行判断            if (config.Ipaccess.Trim() != "")            {                string[] regctrl = Utils.SplitString(config.Ipaccess, "\r\n");                if (!Utils.InIPArray(DNTRequest.GetIP(), regctrl))                {                    ShowMessage("抱歉, 系统设置了IP访问列表限制, 您无法访问本论坛", 0);                    return;                }            }                        // 如果IP访问列表有设置则进行判断            if (config.Ipdenyaccess.Trim() != "")            {                string[] regctrl = Utils.SplitString(config.Ipdenyaccess, "\n");                if (Utils.InIPArray(DNTRequest.GetIP(), regctrl))                {                    ShowMessage("由于您严重违反了论坛的相关规定, 已被禁止访问.", 2);                    return;                }            }            // 如果当前用户请求页面不是登录页面并且当前用户非管理员并且论坛设定了时间段,当时间在其中的一个时间段内,则跳转到论坛登录页面            if (useradminid != 1 && pagename != "login.aspx" && pagename != "logout.aspx" && usergroupinfo.Disableperiodctrl != 1)            {                if (Scoresets.BetweenTime(config.Visitbanperiods))                {                    ShowMessage("在此时间段内不允许访问本论坛", 2);                    return;                }            }            if (userid != -1)            {                string ignore = DNTRequest.GetString("ignore");                newpmcount = Users.GetUserNewPMCount(userid);                realnewpmcount = Math.Abs(newpmcount);                if (ignore.ToLower().Equals("yes"))                {                    newpmcount = newpmcount * -1;                    Users.SetUserNewPMCount(userid,newpmcount);                }            }            templatepath = Templates.GetTemplateItem(templateid).Directory;            nowdate = Utils.GetDate();            nowtime = Utils.GetTime();            nowdatetime = Utils.GetDateTime();                                    ispost = DNTRequest.IsPost();            isget = DNTRequest.IsGet();            link = "";            script = "";            templatelistboxoptions = Caches.GetTemplateListBoxOptionsCache();            isseccode =    Utils.InArray(pagename, config.Seccodestatus);                if ((isseccode)&&(ispost))            {                if (DNTRequest.GetString("vcode") == "")                {                    if (pagename == "showforum.aspx")                    {                        //版块如不设置密码,必无校验码                        //return;                    }                    else if (pagename.EndsWith("ajax.aspx"))                    {                        if (DNTRequest.GetString("t") == "quickreply")                        {                            ResponseAjaxVcodeError();                        }                    }                    else                    {                        AddErrLine("验证码错误");                    }                }                else                {                                        if (!OnlineUsers.CheckUserVerifyCode(olid, DNTRequest.GetString("vcode")))                    {                        if (pagename.EndsWith("ajax.aspx"))                        {                            ResponseAjaxVcodeError();                        }                        else                        {                            AddErrLine("验证码错误");                        }                    }                }            }    }                                }}
  相关解决方案