ASP.NET 自定義伺服器控制元件
本文通過建立一個最簡單的伺服器控制元件,演示開發伺服器端控制元件的流程。
文章內容整理自MSDN的程式設計指南,原文地址在文章末尾的資源中。
本文建立一個簡單的伺服器控制元件,名為RedLabel。它的使用方式為:
文章內容
本文通過建立一個最簡單的伺服器控制元件,演示開發伺服器端控制元件的流程。
文章內容整理自MSDN的程式設計指南,原文地址在文章末尾的資源中。
本文建立一個簡單的伺服器控制元件,名為 RedLabel。 它的使用方式為:
這個標籤會將自己的Text屬性值以紅色的樣式輸出到頁面上。執行結果如圖所示:
步驟
新建一個空白解決方案,在此解決方案下新建一個類庫專案,名稱為MyControl。在類庫中新建一個伺服器端控制元件,名稱為RedLabel。如圖所示:
開啟RedLabel類,將整個類的程式碼修改為:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MyControl { [DefaultProperty("Text")] [ToolboxData("<{0}:RedLabel runat=server></{0}:RedLabel>")] public class RedLabel : Label { //重寫RenderContent函式,輸出控制元件內容 protected override void RenderContents(HtmlTextWriter output) { //將自己的Text屬性(繼承自Label類)值使用紅色樣式輸出 output.Write("<div style='color:red'>" + Text + "</div>"); } } }
至此自定義label控制元件編寫完畢。
配置程式集屬性
1. 開啟類庫專案下的程式集屬性檔案:AssemblyInfo.cs,如圖所示:
1. 在檔案開頭新增下面程式碼:
using System.Web.UI;2. 在檔案末尾新增下面的程式碼:
[assembly: TagPrefix("MyControl", "f")]其中MyControl是名稱空間的名稱。f是自定義控制元件的標籤字首。
程式碼說明
在頁面中使用自定義控制元件
要在頁面中使用自定義控制元件,需要事先進行註冊,註冊的目的是將控制元件的字首和名稱空間進行對映,這樣就能通過標籤名找到標籤對應的實現類。註冊的方式有兩種
1.在頁面中使用@ Register指令,如以下示例所示:<%@ RegisterAssembly="ServerControl" TagPrefix="aspSample” Namespace="ServerControl"%>
2.在 Web.config檔案中指定標記字首/名稱空間對映。 如果將在 Web應用程式的多個頁中使用自定義控制元件,則該方法非常有用。 下面的示例顯示了一個 Web.config檔案,該檔案指定了程式集MyControl中名稱空間MyControl和標籤字首f的對映。
<?xml version="1.0"?> <configuration> <system.web> <pages> <controls> <add tagPrefix="f" Assembly="MyControl" namespace="MyControl"> </add> </controls> </pages> </system.web> </configuration>
測試控制元件
在解決方案下新建web專案,在web專案中新建apsx頁面,在頁面中引入自定義控制元件(注意,控制元件字首需要註冊)。比如以下頁面:
<%@ Page Language="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="MyControl.Web._Default" %> <%@ Register Assembly="MyControl"TagPrefix="f"Namespace="MyControl" %> <!DOCTYPEhtmlPUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> <headrunatheadrunat="server"> <metahttp-equivmetahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> <title></title> </head> <body> <formidformid="form1"runat="server"> <div> <f:RedLabelTextf:RedLabelText="this is a test !"runat="server"></f:RedLabel> </div> </form> </body> </html>
執行效果
資源:
相關推薦
asp.net 自定義伺服器控制元件屬性 [Bindable(true)]...
自定義伺服器控制元件屬性的特性:Bindable這個特性表示屬性是否可以繫結一個有效資料來源。通常使用布林值進行設定。例如:Bindable(true)。如果使用值true標記屬性,表示該屬性可以繫結一個有效資料來源,且應引發該屬性的屬性更改通知。Browsable指定屬性是否應該在屬性瀏覽器中顯示,使用布林
ASP.NET 自定義伺服器控制元件
本文通過建立一個最簡單的伺服器控制元件,演示開發伺服器端控制元件的流程。 文章內容整理自MSDN的程式設計指南,原文地址在文章末尾的資源中。 本文建立一個簡單的伺服器控制元件,名為RedLabel。它的使用方式為: 文章內容 本文通過建立一個最簡單的伺服器控制元件,演示開發伺服器端控
不使用ASP.NET中的伺服器控制元件將如何上傳檔案?
遇到檔案的上傳時,可能會有大部分的開發者喜歡使用伺服器控制元件,雖然很方便,但是卻不能很好的控制,不具靈活性。 現給出例子,使用html標籤語言靈活的控制檔案的上傳。 1、html部分 <input type="file" id="uploadFile" name="uploa
【ASP.NET】——WEB伺服器控制元件
WEB伺服器控制元件分類: 內部控制元件 列表控制元件 複雜控制元件 驗證控制元件 內部控制元件 ASP.NET引入一組稱為“內部控制元件”的新控制元件,專門用於ASP.NET 內部控制元件的使用方法與HTML控制元件相同,他們對映到HTML元素並通過
asp.net(c#)web伺服器控制元件,多選框checkboxlist控制元件。
<%@ Page Language="c#" %> <script runat="server"> void Page_Load() { string msg = "You have selected the following items:<b
ASP.NET自定義Web伺服器控制元件-Button控制元件
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Web; usin
Asp.net自定義控制元件事件
下面總結處理回發事件,必須要做的步驟 (1)繼承並實現IPostBackEventHandler介面的RaisePostBackEvent方法 (2)為表單元素定義UniqueID,以與IPostBa
ASP.NET中使用自定義驗證控制元件(原作)
asp.net 1.1中,有不少驗證控制元件,大大方便了我們,但有的時候,當需要做特殊的驗證時,還會覺得不夠用的,於是我們可以用自定義驗證控制元件CustomValidator,要使用這個控制元件,必須在服務端寫相應的事件,格式如下:Sub FunctionName(s
在 ASP.NET MVC 中建立自定義 HtmlHelper 控制元件
概述 在ASP.NET MVC框架中已經封裝了很多基於Html標準的Html控制元件,我們可以方便的使用這些控制元件輸出想要的內容,使開發變得快捷。 例如ASP.NET MVC框架包括以下設定標準的HTML控制元件(部分控制元件): Html.ActionLink()H
asp.net中的html控制元件點選事件與伺服器控制元件點選事件的不同
ASP.NET中Onclick和OnserverClick事件的區別 對於伺服器按鈕控制元件(即<asp:Button>型別的按鈕): 伺服器響應事件:OnClick 客戶端響應屬性:OnClientClick 對於html按鈕控制元件(即<input t
asp.net自定義錯誤頁面
未處理 範圍 user height you 調用 accept tom 頁眉 ASP.NET 提供三種用於在出現錯誤時捕獲和響應錯誤的主要方法:Page_Error 事件、Application_Error 事件以及應用程序配置文件 (Web.config)。 如
WinForm中使用自定義Tooltip控制元件
private ToolTip tooltipCtr; 建構函式中: 隱藏預設的Tooltip:this.ShowCellToolTips = false; this.tooltipCtr = new ToolTip(); 設定停留時間(還有許多其他時間設定):thi
自定義的控制元件 實現一個繞圓圈的箭頭
自定義的類 import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import
Android UI-自定義日曆控制元件
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
自定義titilbar控制元件
自定義titilbar控制元件 自定義佈局 <?xml version="1.0" encoding="utf-8"?> <ImageView android:id="@+id/imageView1" android:layout_width=
asp.net 如何獲取html控制元件select
只有設定了 runat="server" ,在後臺才可以訪問。示例:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition
asp.net自定義錯誤資訊處理
customErrors Asp.Net級別的錯誤處理程式,只處理Asp.Net應用丟擲的異常(404,403,500。。) 在IIS7+的伺服器依然可用(IIS7之前就引進了) 靜態檔案(如.jpg,.htm,.js等)不會被處理 放在System.Web節點 httpErrors
android開發:自定義組合控制元件
內容介紹 本文記錄,自定義組合控制元件,為了可以程式碼複用,減少程式碼量 配置控制元件屬性檔案 開啟res/values/目錄下的arss.xml檔案,新增下面屬性程式碼,如果沒有建立arrs.xml檔案。 <?xml version="1.0" enc
android自定義開關控制元件-SlideSwitch
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
android 多功能自定義畫板控制元件(用於解決特定需求)
在專案中需要做一個可以自定義軌跡,但始終只有一條線,並且支援撤銷(撤銷單位為MotionEvent的down事件到up事件),還要支援動畫預覽等功能,最重要的是能夠按照間隔畫素來獲取所有點的座標,用於專案的其他功能。 整體的思路 1.專案中的應用場景需要畫板是一個圓形的,這個好實現用canv