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

肥胖的柠檬 2008-02-29 12:27:22
如何制作基类页面,其他的页面从它继承过来?是制作.cs还是.aspx如何继承,能给出步骤么?

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

能给个例子嘛?发邮件也可以..如有,另300分再开一贴相送..谢谢
...全文
299 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuan.ye 2008-03-01
  • 打赏
  • 举报
回复
http://download.csdn.net/source/218833
换肤 母版页 数据控件使用 编写基类 源代码下载
ojekleen 2008-03-01
  • 打赏
  • 举报
回复
要实现你这样的功能没必要重写个Page吧,你可以用下母版页,应该可以的
肥胖的柠檬 2008-02-29
  • 打赏
  • 举报
回复
谢,有直接点的例子嘛?

忘了写邮箱了:ljgo33@163.com
  • 打赏
  • 举报
回复
1\是写一个.cs文件做为基类,不过这个基类要继承自system.web.ui.page
public class a:system.web.ui.page
{
这个基类的某方法完成你的工作,如重写page类某方法
}

2\你的.aspx文件要继承自a
chengqscjh 2008-02-29
  • 打赏
  • 举报
回复
一个.cs文件做为基类,不过这个基类要继承自system.web.ui.page
public class a:system.web.ui.page
{
这个基类的某方法完成你的工作,如重写page类某方法
}
-------------------------------------
就按这样做

zhangjjhua 2008-02-29
  • 打赏
  • 举报
回复
luck0235 说的好,可行..
nj_1st_excellence 2008-02-29
  • 打赏
  • 举报
回复
up1樓
wyll_Dotnet 2008-02-29
  • 打赏
  • 举报
回复
晕,都回的太快了...
wyll_Dotnet 2008-02-29
  • 打赏
  • 举报
回复
不好意思,用的VB 原理一样
basepage.vb

Public Class BasePage
Inherits System.Web.UI.Page


End Class



继承
default.aspx.vb

Partial Class _Default
Inherits BasePage

End Class

luck0235 2008-02-29
  • 打赏
  • 举报
回复
System.Web.UI.Page <-- YourClass <-- SomePage

Example For YourClass:

public class YourClass: System.Web.UI.Page
{
public YourClass(){}

protected override void OnInit(EventArgs e)
{
base.OnInit(e);
//Some OnInit Code ...
}
}


Example For SomePage:

public partial class SomePage : YourClass
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
}
ForTheLife 2008-02-29
  • 打赏
  • 举报
回复
这个问题不用问all吧..
牛人 2008-02-29
  • 打赏
  • 举报
回复
接分
阿非 2008-02-29
  • 打赏
  • 举报
回复
up 1楼
zhuanshen712 2008-02-29
  • 打赏
  • 举报
回复
1楼正确。
TNT_1st_excellence 2008-02-29
  • 打赏
  • 举报
回复
要先写一个Class的基类,然后页面的aspx.cs 继承这个class
LutzMark 2008-02-29
  • 打赏
  • 举报
回复
Discuz!NT PageBase基类

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("验证码错误");
}
}
}
}

}
}
}
lz1201048 2008-02-29
  • 打赏
  • 举报
回复
同1楼,非常普遍的做法

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧