实现一个Asp.net自定义Back控件__教程 |
|
日期:2007-5-20 1:22:55 人气:56 [大 中 小] |
|
|
|
然后它会激活该控件。如果地址是一样的,BackLink在激活控件前,需要验证所指向页面的URL是否已经缓存过了。在OnClick()中,你必须读取session变量,如果session变量存在,就将用户重定向到控件指向的页面。
你也可以在可视化设计页面上设计用户控件。当你将控件拖放到Web form时,ToolboxData属性会告诉VS.NET在ASPX文件中插入什么。ToolboxBitmap包含对控件图标的一个引用(以嵌入资源的形式)。如图1所示,一旦你添加了控件,图标就会显示在toolbox中。
源代码:
[ToolboxData("<{0}:BackLink runat=server>{0}:BackLink>")] [ToolboxBitmap(typeof(BackLink),"BackLink.bmp")] public class BackLink : LinkButton { public BackLink() { Text = "Back"; ToolTip = "Click to go to the previous page"; }
protected override void OnClick(EventArgs e) { Uri backURL = (Uri)Page.Session[ "Referring URL"]; Page.Session["Referring URL"] = null; if(backURL != null) { Page.Response.Redirect( backURL.AbsoluteUri); } }
protected override void OnLoad(EventArgs e) { Uri backURL = Page.Request.UrlReferrer; if(backURL == null) //No referrer information { Enabled = false; return; } if(backURL.AbsolutePath != Page.Request.Url.AbsolutePath) { Page.Session["Referring URL"] = backURL; Enabled = true; return; } else { object obj = Page.Session[ "Referring URL"]; if(obj != null) { Enabled = true; } } base.OnLoad(e); } }
|
|
出处:本站原创 作者:佚名 |
|
|