標籤:style blog http io color ar sp for 檔案
最近想寫寫部落格記錄下自己學習程式開發伺服器控制項。
第一步:搭建環境。
1、建立一個項目類庫,用於儲存控制項;
2、建立一個Web工程,用於調用控制項;
第二步:在控制項類庫下,建立一個伺服器控制項類TextBox.cs檔案。代碼如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using System.Text;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace JHSoft.UI.Web.Controls{ [DefaultProperty("Text")] [ToolboxData("<{0}:TextBox runat=server></{0}:TextBox>")] public class TextBox : WebControl { [Bindable(true)] [Category("Appearance")] [DefaultValue("")] [Localizable(true)] public string Text { get { String s = (String)ViewState["Text"]; return ((s == null) ? String.Empty : s); } set { ViewState["Text"] = value; } } protected override void RenderContents(HtmlTextWriter output) { output.Write(Text); } }}
修改方法:RenderContents
protected override void RenderContents(HtmlTextWriter output) { output.Write("<input type=‘text‘ value=‘" + Text + "‘/>"); }
第三步:
1、引用控制項類庫。
2、在Webconfig中註冊控制項首碼
3、在Web工程中,建立一個頁面TextBox.aspx,調用建立的伺服器控制項<c:TextBox>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TextBox.aspx.cs" Inherits="JHSoft.SYS.Web.TextBox" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title></head><body> <form id="form1" runat="server"> <c:TextBox runat="server" Text="Test"></c:TextBox> </form></body></html>
需要說明的是:
此處的控制項 <c:TextBox runat="server" Text="Test"></c:TextBox>,執行完成後,產生的html代碼是:
TextBox.cs類中的
protected override void RenderContents(HtmlTextWriter output)
{
output.Write("<input type=‘text‘ value=‘" + Text + "‘/>"); //產生的普通控制項,Text為顯示的值
}
asp.net伺服器控制項開發系列一