天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

asp.net控件開發基礎(1)

  ASPNET本身提供了很多控件,提供給我們這些比較懶惰的人使用,我認為控件的作用就在此,因為我們不想重復工作,所以要創建它,這個本身便是一個需求的關系,所以學習控件開發很有意思。 wrox網站上有本書 Professional ASPNET 2.0 Server Control and Component Development,現在還沒有出版,但網站上放出了代碼,所以正好下載過來學習一下。

  我看過前幾章代碼,環環相扣,作者用不同的知識向我們展示同一個效果,所以循序漸進的學下來很有好處。雖然自己對控件開發還不是很熟悉,但我感覺以下幾點很重要,是我自己總結的

1. 了解控件之間的繼承關系

  最好是先看看看System。Web。UI命名空間

  (1)Control 類,所有的控件都共享的一個類,你需要去看下其里面受保護的幾個方法和屬性,雖然一下看不完,以后會發現常常用到這些方法,大家可以在MSDN看一下其派生類

  (2)HtmlTextWriter 類,不得不了解的一個類,主要工作就是我們寫的標記字符和文本輸出

2. 重寫方法

  (1) 必須繼承Control類

  (2) 重寫Control類的Render方法,這個是必須的,因為其他控件都繼承了Control 類類,所以幾乎所有控件都有這個方法

3. 熟悉元數據

  大家都知道ASPNET控件屬性在編輯器上是分類的,如外觀,行為,布局等,每個屬性還給出了解釋。簡單的元數據就是起到這個作用,當然你也可以不加,但使用了元數據讓人感到有親切感,寫法如

  [CategoryAttribute("Appearance")]

  要使用元數據,必須引用System。ComponentModel命名控件,一般你如果寫組件的話,不可能不用到這樣類庫。具體的MSDN上有所介紹。

一. 輸出字符串

  說多了沒意思,還是來演練吧。首先你得了解HTML。來看下面代碼,效果就是輸出HTML到客戶端

  示例一

using System;
using System.Web.UI;

namespace CustomComponents
{
/// <summary>
/// Summary description for CreditCardForm
/// </summary>
public class CreditCardForm1 : Control
{
protected override void Render(HtmlTextWriter writer)
{
writer.Write(
"<table style='width:287px;height:124px;border-width:0;'>");
writer.Write(
"<tr>");
writer.Write(
"<td><strong>Payment Method</strong></td>");
writer.Write(
"<td>");
writer.Write(
"<select name='PaymentMethod' id='PaymentMethod' style='width:100%;'>");
writer.Write(
"<option value='0'>Visa</option>");
writer.Write(
"<option value='1'>MasterCard</option>");
writer.Write(
"</select>");
writer.Write(
"</td>");
writer.Write(
"</tr>");
writer.Write(
"<tr>");
writer.Write(
"<td><strong>Credit Card No.</strong></td>");
writer.Write(
"<td><input name='CreditCardNo' id='CreditCardNo' type='text' /></td>");
writer.Write(
"</tr>");
writer.Write(
"<tr>");
writer.Write(
"<td><strong>Cardholder's Name</strong></td>");
writer.Write(
"<td><input name='CardholderName' id='CardholderName' type='text' /></td>");
writer.Write(
"</tr>");
writer.Write(
"<tr>");
writer.Write(
"<td><strong>Expiration Date</strong></td>");
writer.Write(
"<td>");
writer.Write(
"<select name='Month' id='Month'>");
for (int day = 1; day < 13; day++)
{
if (day < 10)
writer.Write(
"<option value='" + day.ToString() + "'>" + "0" + day.ToString() + "</option>");
else
writer.Write(
"<option value='" + day.ToString() + "'>" + day.ToString() + "</option>");
}
writer.Write(
"</select>");
writer.Write(
"&nbsp");
writer.Write(
"<select name='Year' id='Year'>");
for (int year = 2005; year < 2015; year++)
{
writer.Write(
"<option value='" + year.ToString() + "'>" + year.ToString() + "</option>");
}
writer.Write(
"</select>");
writer.Write(
"</td>");
writer.Write(
"</tr>");
writer.Write(
"<tr>");
writer.Write(
"<td align='center' colspan='2'>");
writer.Write(
"<input type='submit' value='Submit' />");
writer.Write(
"</td>");
writer.Write(
"</tr>");
writer.Write(
"</table>");

base.Render(writer);
}
}
}

NET技術asp.net控件開發基礎(1),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 97免费视频在线观看 | 欧式午夜理伦三级在线观看 | 四虎精品久久久久影院 | 妈妈的职业3完整版在线播放 | A国产一区二区免费入口 | 久久综合色一综合色88 | 99视频在线免费看 | 精品AV国产一区二区三区 | 久久国产乱子伦精品免费不卡 | 中文字幕网站在线观看 | 老熟人老女人国产老太 | 亚洲国产精品天堂在线播放 | 国产欧美一区二区三区久久 | 男人桶女人j的视频在线观看 | 找老女人泻火对白自拍 | 亚洲国产成人在线视频 | 益日韩欧群交P片内射中文 艺术片 快播 | 免费看 a一级毛片 免费久久狼人香蕉网 | 久青草国产在视频在线观看 | 日本中文字幕伊人成中文字幕 | 网红刘婷hd国产高清 | 国产人妻麻豆蜜桃色69 | 亚洲成年人在线观看 | 久久只有这里有精品4 | 欧美丝袜女同 | 久久精品国产欧美 | 色噜噜狠狠色综合欧洲 | 麻花豆传媒剧国产免费mv观看 | 精品AV无码一二三区视频 | 久久人妻无码毛片A片麻豆 久久人妻熟女中文字幕AV蜜芽 | 99免费在线观看 | 久久精品麻豆国产天美传媒果冻 | 亚洲精品色播一区二区 | 365电影成人亚洲网在线观看 | 午夜福利合集1000在线 | 变形金刚7免费观看完整 | 人妻中文字幕无码久久AV爆 | 高清日本片免费观看 | 韩剧19禁啪啪无遮挡大尺度 | 亚洲日本在线不卡二区 | 最近2019中文字幕MV免费看 |