System.Web.UI.Page的用法,一定要学会懒

在ASP.NET中,任何页面都是继承于System.Web.UI.Page,他提供了ASP.NET中的Response,Request,Session,Application的操作.在使用Visual Studio 创建ASP页面时,系统会自动为你创建一个继承与System.Web.UI.Page的类与页面文件关联.

public partial class yourPage:System.Web.UI.Page
{
    protected void Page_Load(Object sender,EventArgs e)
    {

    }
}

我们可以设计一个类,如:

class myPage:System.Web.UI.Page
{

}

//这种情况下我们可以将页面生成的代码改为
public partial class yourPage:myPage(){
//.............
}

//这样,我们就可以在myPage中放入一些常用的方法,将代码更有效的复用,同时实现一些错误页面的跳转功能.

另外,在Page中还有一个重要的方法:

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

这是页面的初始化时执行的方法,但需要特别注意的是,重写该方法的时候一定要将base.OnInit(e)写入,不能留空.

时间: 2024-10-08 10:57:58

System.Web.UI.Page的用法,一定要学会懒的相关文章

非静态的字段、方法或属性“System.Web.UI.Page.ClientScript...”要求对象引用 (封装注册脚本)

在写项目时想对asp.net的注册前台脚本事件进行封装,就添加了一个BasePage.cs页面,但一直报错‘非静态的字段.方法或属性“System.Web.UI.Page.ClientScript...”要求对象引用”’ 原写法: /// <summary> /// 显示客户端提示框 /// </summary> /// <param name="msg"></param> public static void ShowMsg(strin

“XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不允许的问题

“XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不允许的问题 原因:设计页面继承的路径和后台.cs页面类的路径不一致造成的 看下图 这个是设计页面的样式 这个是后台cs文件代码 如果这两地方的路径不一致则会导致上述错误出现 解决方法:将这两个地方的路径统一即可解决

继承System.Web.UI.Page的页面基类

服务器端的page类      所有我们编写的页面都继承自page类,可见page类是非常重要的,page类提供了哪些功能,直接决定了我们的页面类可以继承什么功能,或者说,直接决定了我们的页面类功能的强大与否!那么,page类实现了什么功能呢?如前所述的三个客户端的事实,页面类要管理ViewState,还要管理事件.page类起码要提供这些功能以供我们的页面类重载或者调用. page类提供了四个顺序执行的事件Init,Load,PreRender和Unload,这四个事件是一条主线,依次标明了p

System.Web.UI.Page事件执行顺序

#region OnPreInit 第一步(显式重写,文章下面有隐式重写) protected override void OnPreInit(EventArgs e) { //检查 IsPostBack 属性来确定是不是第一次处理该页. //创建或重新创建动态控件. //动态设置主控页. //动态设置 Theme 属性. //读取或设置配置文件属性值. //注意 //如果请求是回发请求,则控件的值尚未从视图状态还原.如果在此阶段设置控件属性,则其值可能会在下一事件中被重写. base.OnPr

ASP.NET(C#)——不扩展System.Web.UI.Page

错误原因:复制,移动,重命名导致配置不对. xxx.aspx文件的MasterPageFile和Inherits与xxx.aspx.cs文件的命名空间和类名不一致. 解决方法: 修改xxx.aspx文件或者xxx.aspx.cs文件. <%@ Page Title="" Language="C#" MasterPageFile="~/xxx/xxx.Master" AutoEventWireup="True" CodeB

ASP.NET中System.Web.UI.Page的继承问题

看了一些文章,通过写PageBase的页面并使其它page继承这个PageBase,可以方便地实现用户检验等需求. 后来发现子类page继承后,父类的PageLoad不执行了. 以下帖子提出了问题,但是没有提供正解: http://bbs.csdn.net/topics/390482363?ticket=ST-704066-MoolZ4f7GW3lTwMCb6cK-passport.csdn.net 问题原因: 子类Page_Load覆盖了父类的Page_Load方法. 解决方法: 给子类方法前

System.Web.UI.HtmlControls

用来创建一个标签.HtmlContainerControl 一般用此类来新建标签. 可能我们熟悉System.Web.UI.WebControls;空间.System.Web.UI.WebControls 命名空间包含允许您创建在网页上的 Web 服务器控件的类. 最常见的就是用到数据绑定控件时需要获取每个数据时 绑定数据时: 后台获取此数据: 更多去MDSN里面看吧 与此控件类似的就是System.Web.UI.HtmlControls 命名空间.System.Web.UI.HtmlContr

“System.Web.UI.WebControls.Literal”不允许使用子控件

今天在写下面的代码时遭遇错误——“System.Web.UI.WebControls.Literal”不允许使用子控件('System.Web.UI.WebControls.Literal' does not allow child controls): var postBodyDiv = new HtmlGenericControl() { ID = "cnblogs_post_body", ClientIDMode = ClientIDMode.Static, TagName =

解决类型“System.Web.UI.UpdatePanel”不具有名为“Gridview”的公共属性,

类型“system.web.ui.updatepanel” 不具有名为“XXX”的公共属性,其实原因很简单.就是少了一个<ContentTemplate></ContentTemplate> 1 <asp:ScriptManager ID="ScriptManager1" runat="server"> 2 </asp:ScriptManager> 3 <asp:UpdatePanel ID="Upda