快速业务通道

ASP.NET控件开发基础(1)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
    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);
   }
  }
}

效果很简单,其实就一直在输出HTML再加几个属性,大家可以直接把代码放在App_Code文件夹里,就可自动编译,当然也可以创建web控件库.

注意要继承Control类,重写Render方法,用HtmlTextWriter类的Write输出HTML

使用控件

(1).需要先注册一下

<%@ Register TagPrefix="custom" Namespace="CustomComponents" %>

(2) 然后就使用标签输出效果

<custom:CreditCardForm1 runat="server" ID="ccf" />

下为效果图

ASP.NET控件开发基础(1)

二.改善,加入属性和元数据

可能上面做出的 控件毫无用处,但却可以让你熟悉一下步骤,上面的控件定的很死,没有定义任何属性,用处不大,下面来改造

我们来定义常用属性,然后再输出,这样我们就可以修改控件的属性了,

示例二

using System;
using System.Web.UI;
using System.ComponentModel;

namespace CustomComponents
{
  [DefaultPropertyAttribute("CardholderNameText")]
   [ToolboxData(@"<{0}:CreditCardForm2
   PaymentMethodText=''信用卡类型'' CreditCardNoText=''信用卡卡号''
   CardholderNameText=''信用卡持有者姓名'' SubmitButtonText = ''提交''
   runat=''server''></{0}:CreditCardForm2>")
   ]
  public class CreditCardForm2 : Control
  {
   private string paymentMethodText = "信用卡类型";
   private string creditCardNoText = "信用卡卡号";
   private string cardholderNameText = "信用卡持有者姓名";
   private string expirationDateText = "最后使用时间";
   private string submitButtonText = "提交";

 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号