就是继承Control类,重写Render方法,用HtmlTextWriter类的Write输出HTML
gz.cs :
using System; using System.Web.UI; /// <summary> /// gz 的摘要说明 /// </summary> namespace CustomComponents { public class gz : Control { protected override void Render(HtmlTextWriter writer) { //base.Render(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(" "); 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); } } }
前台调用页面(注意里面的两句,注册和调用):
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register TagPrefix="custom" Namespace="CustomComponents" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <custom:gz runat="server" ID="gzx" /> </div> </form> </body> </html>
运行结果: