1. 程式人生 > >Asp.net 2.0自定義控制元件(點選HyperLink後執行事件)[網友問題: DataList裡HyperLink控制元件激發事件,在哪定義?]

Asp.net 2.0自定義控制元件(點選HyperLink後執行事件)[網友問題: DataList裡HyperLink控制元件激發事件,在哪定義?]

 (一). 概述

         HyperLink預設沒有Click事件,  重寫了一個HyperLink自定義控制元件.

         實現原理:

         預設Hyperlink是跳到點選請求的頁面, 本HyperLink自定義控制元件最終也是跳轉到請求的頁面, 但期間

        執行了自己的一個方法, 我們可以在此方法中添寫自己所需的功能.

        本示例演示統計此超連結點選次數功能. [參考Asp.net 2.0高階程式設計]

(二). 程式碼實現

       1. 自定義控制元件 HyperLink.cs 程式碼

 1 /// 2 /// Author: [ ChengKing(ZhengJian) ] 
 3 /// Blog:   Http://blog.csdn.net/ChengKing
 4 /// 5 public partial class HyperLink : System.Web.UI.WebControls.HyperLink
 6     {
 7 public HyperLink()
 8         {            
 9         }
10 11 ///12 /// 返回要進行統計頁面的名稱[凡是點選了此控制元件都將經過此total.aspx頁面]
13 ///14 publicstring TotalPage
15         {
16 get17             {
18 return"
total.aspx";
19             }
20         }
21 22 ///23 /// 1. 當基類中同名方法有virtual標誌時,一般用override重寫,多型;
24 ///    但當基類沒有virtual關鍵字時,用new關鍵字修改基類方法,不具有多型功能.
25 /// 2. 修改NavigateUrl, 將TotalPage始終作為目標頁面;
26 ///    而將使用者點選的目標頁面作為page引數傳入
27 /// 3. 這裡方法名稱必須是NavigateUrl, 因為當執行單擊事件時,它會自動取這個屬性名稱的值,進行頁面跳轉
28 ///29 publicnewstring NavigateUrl
30
         {
31 get32             {
33 returnbase.NavigateUrl;
34             }
35 set36             {
37 string strUrl ="{0}?page={1}";
38                 strUrl = String.Format(strUrl, TotalPage, value);
39 base.NavigateUrl = strUrl;
40             }
41         }
42     }

     2.  自定義方法所在的頁面 Total.aspx.cs 程式碼

 1 /// 2 /// Author: [ ChengKing(ZhengJian) ] 
 3 /// Blog:   Http://blog.csdn.net/ChengKing
 4 /// 5 public partial class Total : System.Web.UI.Page
 6 {
 7 //公共統計頁面, 用來執行 點選汽車圖片次數功能的方法 8 protectedvoid Page_Load(object sender, EventArgs e)
 9     {
10 this.CustomMethod();
11 12 string strObjectPage = Request["page"].ToString();
13         Response.Redirect(strObjectPage);
14     }
15 16 ///17 /// 這個方法可以寫類似OnClick事件程式碼
18 ///19 privatevoid CustomMethod()
20     {
21 //做統計功能, 或其它功能
22 //Application["Car_Click_Count"] = (int)Application["Car_Click_Count"] + 1;23     }
24 }(三). 示例程式碼下載(四). 其它自定義控制元件相關文章


相關推薦

Asp.net 2.0定義控制元件(HyperLink執行事件)[網友問題: DataListHyperLink控制元件激發事件定義?]

 (一). 概述         HyperLink預設沒有Click事件,  重寫了一個HyperLink自定義控制元件.         實現原理:          預設Hyperlink是跳到點選請求的頁面, 本HyperLink自定義控制元件最終也是跳轉到請求的頁面, 但期間        執行

ASP.net[2.0示例]實現折線,柱狀,扇形圖--web chart控制元件

 推薦連結:輕鬆註冊,推薦一個網站獲得20元網路賬本 —免費的網路記帳本,今天你記賬了嗎?倍新諮詢—投資諮詢專家線上炒外匯—免費訂閱外匯月刊學不好英語,不是你的錯。因為學習內容太枯燥乏味! 為什麼不試試《看電影學英語》?

asp.net ajax 和 asp.net 2.0中的fileupload合力打造無重新整理檔案上傳控制元件

{20        bool fileOK =false;21        //獲取根檔案絕對路徑22string path = Server.MapPath("~/UpLoad/");23        //如上傳了檔案,就判斷檔案格式24        FileUpload FU = FileUplo

[ASP.NET 2.0]虛擬主機上部署AJAX控制元件

在未安裝微軟AJAX元件的虛擬主機上部署包含ajax控制元件的WEB程式的方法: 在本機找到 C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025 將目錄下的System.Web.E

動手做ASP.NET 2.0伺服器端控制元件——AutoCheckTreeView(一)功能討論

感謝譚振林先生所著《道不遠人——深入解析ASP.NET 2.0控制元件開發》  ASP.NET現在使用的朋友是越來越多了,而其中一些很“方便”的控制元件事實上在實際使用過程中卻不是那麼方便。還好,我們有辦法改善它們,或者是繼承現有控制元件後擴充套件,或者是繼承Control

asp.net 2.0 分析器錯誤訊息: 檔案.aspx.cs”不存在錯誤

布webapplication時後老是報告分析器錯誤訊息: 檔案.aspx.cs”不存在錯誤,差點抓狂,後來在網上搜到原因是: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="{0}" Inherits="{1}" %&g

在iis中註冊asp.net 2.0 (zz)

  如果先安裝framework2.0後安裝iis的話,在iis中並不會註冊asp.net 2.0,這時候需要如下操作: C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i 開始安裝 ASP.

解決 web伺服器部署常見問題server application unavailable 和 程式無法連線資料庫 的問題(asp.net 2.0 + oracle9i + winXP)

部署時出現以下錯誤: server application unavailable the web application you are attempting to access on this web server is currently unavailable. pl

C#下 ASP.NET 2.0中禁止GridView的內容自動換行 (測試有效!!)

有人喜歡換行,我不喜歡換行,經MSDN論壇高人解答,測試後有效: 在原始檔模式下的頭部加入定義             .brk         {                 white-space:pre;         } 然後在繫結事件後 e.Row.C

ASP.NET 2.0 中的 Theme 功能

ASP.NET 2.0 中新增加了 Theme 的功能,它的出現能讓網站實現換膚更加容易。 Theme 的實現包括:CSS、Skin、MasterPage。 CSS 是用於控制所有 HTML 標記的外觀。 Skin 是用於控制所有 ASP.NET 伺服器調整的外觀,並且可以通

ASP.NET 2.0 PostBack請求保持頁面滾動條的位置

    今天錄入資料的同事給我提了個需求,說拉下來的滾動條,點選完複選框能不能保守它的位置;     於是我g.cn了一下,果然有好心人幫我解決了這個問題,方法如下:    只需要在aspx頁面的頂端<%Page%>部分中加入MaintainScrollPosit

asp.net[2.0] 用Web Chart 實現折線、柱狀、扇形圖

專案中有報表圖形化的需求, 於是開始在網上找第三方chart控制元件。因時間緊迫,在CSDN中搜了幾輪後大至確定了幾個候選:一、Office帶的OWC控制元件;二、ComponentOne;三、Web Chart。 OWC似乎使用者居多,但看見有網友在帖中抱怨OWC在使用時需

Asp.net 2.0 一個簡單的聯動DropDownList示例(示例程式碼下載)

{ 26 DataSet ds =new DataSet(); 27 DataTable dt =new DataTable(); 28 dt.Columns.Add(new DataColumn("Value", typeof(int))); 29 d

尚未在 Web 伺服器上註冊 ASP.NET 2.0------IIS配置

    執行環境:Win7+VS2008     裝完IIS以後,“執行Web專案”時出現了上述錯誤:尚未在Web伺服器上註冊ASP.NET 2.0... ... ...     在網上搜索到的 “win+r,重新註冊ASP.NET” 的方法也不起作用。     於是,我

ASP.NET 2.0中GRIDVIEW排序

雖然是BETA 1的,但原理其實和。NET 1。1的差不多,下面的例子講了如何在排序時,在headertemplate中加一張UP.GIF和DOWN.GIF(就是升序,倒序的示意圖)%@ Page Language="C#" %> <script runa

ASP.NET 2.0 中的主版頁面 Master Pages

摘要:主版頁面可讓您依循一致的主題與樣式,建立 ASP.NET 頁面。Stephen Walther 告訴你如何善加利用這項新功能。 目錄 簡介主版頁面和內容頁面建立簡單的主版頁面建立簡單的內容頁面透過網站瀏覽建立主版頁面套疊多個主版頁面設定主版頁面覆寫主版頁面屬性使用頁面標題屬性覆寫 HTML 標頭屬性

xiong1000 only focus on asp.net 2.0

Server.MapPath(path)       The MapPath method maps the specified relative or virtual path to the corresponding physical directory on the s

網站二級域名用asp.net 2.0的實現方案

基本思路:1. 域名支援泛解析,即是指:把A記錄 *.域名.com  解析到伺服器IP,伺服器IIS中做繫結,繫結時主機頭為空;2. 為了實現完全的二級域,建兩個站點,一個為主站用,一個為使用者用,兩個站點目錄都指到一個同一網站目錄3. 在Web程式中或取URL來源中的二級域名主機頭,比如:abc.域名.co

Asp.net 2.0 Treeview 動態填充,並實現無限級樹

{               //hooyesDataLink 為配置中資料連線字串鍵名        SqlConnection con =new SqlConnection(ConfigurationManager.AppSettings["hooyesDataLink"]);        SqlDa

ASP.NET 2.0 中改進的快取功能

使用 SqlCacheDependencyAdmin 類aspnet_regsql 工具在後臺使用 SqlCacheDependencyAdmin 類的方法來配置 Microsoft SQL Server。如果您願意,可以直接從 ASP.NET 頁面中使用此類的方法。SqlCacheDependencyAdm