对那个没有用处的控件进行第一次改造

    技术2022-05-11  2

    1.  加入属性和元数据

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

     

                                                                  

     

    3.  新建一个类库项目,然后把写的代码放这个项目里面,接着web网站引用这个项目,成功生成以后,你会发现工具箱已经自动帮你加上了这几个控件

     

                                                    

     

                                                                            我的工具箱

     

     

     

                                                    

                                                

                                                           生成解决方案的时候,控件已经生成

     

     

     

                                              

     

                                                         这是Default.aspx设计页面视图

     

     

    4.  项目代码和前台页面调试

     

     

    CreditCardForm2.cs文件

     

    using System; using System.Web.UI; using System.ComponentModel; namespace gzClass { [DefaultPropertyAttribute("CardholderNameText")] [ToolboxData(@"<{0}:CreditCardForm2 PaymentMethodText='信用卡类型' CreditCardNoText='信用卡卡号' CardholderNameText='信用卡持有者姓名' SubmitButtonText='提交' Id='gzx' runat='server'></{0}:CreditCardForm2>“")] public class CreditCardForm2 : Control { private string paymentMethodText = "信用卡类型"; private string creditCardNoText = "信用卡卡号"; private string cardholderNameText = "信用卡持有者姓名"; private string expirationDateText = "最后使用时间"; private string submitButtonText = "提交"; [BrowsableAttribute(true)] [DescriptionAttribute("获取和设置信用卡类型")] [DefaultValueAttribute("信用卡类型")] [CategoryAttribute("Appearance")] public virtual string PaymentMethodText { get { return this.paymentMethodText; } set { this.paymentMethodText = value; } } [BrowsableAttribute(true)] [DescriptionAttribute("获取或设置信用卡卡号")] [DefaultValueAttribute("信用卡卡号")] [CategoryAttribute("Appearance")] public virtual string CreditCardNoText { get { return this.creditCardNoText; } set { this.creditCardNoText = value; } } [BrowsableAttribute(true)] [DescriptionAttribute("获取或设置信用卡持有者姓名")] [DefaultValueAttribute("信用卡持有者姓名")] [CategoryAttribute("Appearance")] public virtual string CardholderNameText { get { return this.cardholderNameText; } set { this.cardholderNameText = value; } } [BrowsableAttribute(true)] [DescriptionAttribute("获取或设置最后使用时间")] [DefaultValueAttribute("最后使用时间")] [CategoryAttribute("Appearance")] public virtual string ExpirationDateText { get { return this.expirationDateText; } set { this.expirationDateText = value; } } [BrowsableAttribute(true)] [DescriptionAttribute("获取或设置按钮标签")] [DefaultValueAttribute("提交")] [CategoryAttribute("Appearance")] public virtual string SubmitButtonText { get { return this.submitButtonText; } set { this.submitButtonText = value; } } protected override void Render(HtmlTextWriter writer) { writer.Write("<table style='width:287px;height:124px;border-width:0;'>"); writer.Write("<tr>"); writer.Write("<td>" + PaymentMethodText + "</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>" + CreditCardNoText + "</td>"); writer.Write("<td><input name='CreditCardNo' id='CreditCardNo' type='text' /></td>"); writer.Write("</tr>"); writer.Write("<tr>"); writer.Write("<td>" + CardholderNameText + "</td>"); writer.Write("<td><input name='CardholderName' id='CardholderName' type='text' /></td>"); writer.Write("</tr>"); writer.Write("<tr>"); writer.Write("<td>" + ExpirationDateText + "</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='" + SubmitButtonText + "' />"); writer.Write("</td>"); writer.Write("</tr>"); writer.Write("</table>"); base.Render(writer); } } }

     

    Default.aspx文件:

     

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register Assembly="gzClass" Namespace="gzClass" TagPrefix="cc1" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> </head> <body> <form id="form1" runat="server"> <div> <cc1:CreditCardForm2 ID="CreditCardForm2_1" runat='server' CardholderNameText='信用卡持有者姓名' CreditCardNoText='信用卡卡号' PaymentMethodText='信用卡类型' SubmitButtonText='提交'> </cc1:CreditCardForm2> </div> </form> </body> </html>

     


    最新回复(0)