asp.net 繼承自Page實(shí)現(xiàn)統(tǒng)一頁面驗(yàn)證與錯(cuò)誤處理
更新時(shí)間:2009年04月20日 18:00:07 作者:
一直以來,我都在思考以前一個(gè)項(xiàng)目中,后臺(tái)文件中很多的.aspx文件上的權(quán)限判斷問題,傻乎乎的我基本上每個(gè)文件當(dāng)時(shí)都給加了一句
復(fù)制代碼 代碼如下:
isAdmin();
因?yàn)楫?dāng)時(shí)沒有用母版頁去做,所以不能在母版頁中統(tǒng)一判斷權(quán)限,而當(dāng)時(shí)我限于自己水平,也沒有采用繼承自Page這個(gè)類的方法去統(tǒng)一處理一些頁面加載的時(shí)候都要處理的事情?,F(xiàn)在根據(jù)“李天平(動(dòng)軟)”的一些代碼記錄下,也希望大家要學(xué)會(huì)使用繼承??!
看下一個(gè)簡(jiǎn)單的繼承自Page的PageBase:
復(fù)制代碼 代碼如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
/// <summary>
///first write by 李天平
///up by ahuinan 2009-4-18
/// </summary>
public class PageBase:System.Web.UI.Page
{
public PageBase()
{
//
//TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Load += new System.EventHandler(PageBase_Load);
this.Error += new System.EventHandler(PageBase_Error);
}
//錯(cuò)誤處理
protected void PageBase_Error(object sender, System.EventArgs e)
{
string errMsg = string.Empty;
Exception currentError = HttpContext.Current.Server.GetLastError();
errMsg += "<h1>系統(tǒng)錯(cuò)誤:</h1><hr/>系統(tǒng)發(fā)生錯(cuò)誤, " +
"該信息已被系統(tǒng)記錄,請(qǐng)稍后重試或與管理員聯(lián)系。<br/>" +
"錯(cuò)誤地址: " + Request.Url.ToString() + "<br/>" +
"錯(cuò)誤信息: " + currentError.Message.ToString() + "<hr/>" +
"<b>Stack Trace:</b><br/>" + currentError.ToString();
HttpContext.Current.Response.Write(errMsg);
Server.ClearError();
}
private void PageBase_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (HttpContext.Current.Session["username"] != null)
{
HttpContext.Current.Response.Write("搜索吧sosuo8.com登陸測(cè)試");
}
else
{
HttpContext.Current.Response.Write("你不是阿會(huì)楠,不要登陸");
}
}
}
}
使用的時(shí)候:
復(fù)制代碼 代碼如下:
public partial class _Default :PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
int ID = int.Parse(Request.QueryString["ID"]);
Response.Write("id:"+ID.ToString());
}
}
您可能感興趣的文章:
- asp.net錯(cuò)誤頁面處理示例分享
- asp.net網(wǎng)站的404錯(cuò)誤頁面的正確設(shè)置方法
- ASP.NET 定制簡(jiǎn)單的錯(cuò)誤處理頁面實(shí)現(xiàn)代碼
- Asp.Net實(shí)現(xiàn)404頁面與301重定向的方法
- ASP.NET設(shè)置404頁面返回302HTTP狀態(tài)碼的解決方法
- IIS部署asp.net報(bào)404錯(cuò)誤的解決方法
- asp.net 在global中攔截404錯(cuò)誤的實(shí)現(xiàn)方法
- asp.net 利用IIS的404錯(cuò)誤將文件重寫成目錄的簡(jiǎn)單方法
- 運(yùn)行asp.net時(shí)出現(xiàn) http錯(cuò)誤404-文件或目錄未找到
- ASP.NET MVC自定義錯(cuò)誤頁面真的簡(jiǎn)單嗎?
相關(guān)文章
asp.net Repeater控件的說明及詳細(xì)介紹及使用方法
Repeater控件是Web 服務(wù)器控件中的一個(gè)容器控件,它使您可以從頁的任何可用數(shù)據(jù)中創(chuàng)建出自定義列表。2010-04-04.Net動(dòng)態(tài)生成controller遇到的坑
這篇文章主要介紹了dotnet動(dòng)態(tài)生成controller的問題,文中給大家介紹了動(dòng)態(tài)新建type的方案,通過多種解決方案給大家程度剖析,需要的朋友可以參考下2022-03-03ASP.NET中TextBox使用Ajax控件顯示日期不全的問題解決方法
這篇文章介紹了ASP.NET中TextBox使用Ajax控件顯示日期不全的問題解決方法,有需要的朋友可以參考一下2013-10-10asp.net實(shí)現(xiàn)導(dǎo)出DataTable數(shù)據(jù)到Word或者Excel的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)導(dǎo)出DataTable數(shù)據(jù)到Word或者Excel的方法,涉及asp.net操作office文件的相關(guān)技巧,需要的朋友可以參考下2016-08-08.NET Core 2.0遷移小技巧之MemoryCache問題修復(fù)解決的方法
這篇文章主要給大家介紹了關(guān)于.NET Core 2.0遷移小技巧之MemoryCache問題修復(fù)解決的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08Visual Studio 2017 (VS 2017)離線安裝包制作方法
這篇文章主要為大家詳細(xì)介紹了Visual Studio 2017離線安裝包的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03Visual studio 2017如何發(fā)布dotnet core到docker
這篇文章主要介紹了Visual studio 2017如何發(fā)布dotnet core到docker的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04