控件开发

  1. /**
  2.  asp.net 控件开发
  3.  * */
  4. using System;
  5. using System.Data;
  6. using System.Configuration;
  7. using System.Web;
  8. using System.Web.Security;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.WebControls.WebParts;
  12. using System.Web.UI.HtmlControls;
  13. using System.ComponentModel;
  14. [assembly: TagPrefix("MyControl""CG")]
  15. namespace MyControl
  16. {
  17.     [DefaultPropertyAttribute("TitleText")]
  18.     [ToolboxData("<{0}:LinksControl " +
  19.                  "TitleText='我的链接' " +
  20.                  "XmlFileName='linksList.xml' " +
  21.                  "runat='server'></{0}:LinksControl>")]
  22.     public class LinksControl : Control
  23.     {   //这里添加了两个用于属性的私有成员变量
  24.         private string _titleText = "";
  25.         private string _xmlFileName = "";
  26.         //下面添加了两个属性
  27.         [BrowsableAttribute(true)]
  28.         [DescriptionAttribute("设置标题栏的名称")]
  29.         [DefaultValueAttribute("我的链接")]
  30.         [CategoryAttribute("外观")]
  31.         public virtual string TitleText
  32.         {
  33.             get { return _titleText; }
  34.             set { _titleText = value; }
  35.         }
  36.         [BrowsableAttribute(true)]
  37.         [DescriptionAttribute("存放链接的xml文件名")]
  38.         [DefaultValueAttribute("")]
  39.         [CategoryAttribute("数据")]
  40.         public virtual string XmlFileName
  41.         {
  42.             get { return _xmlFileName; }
  43.             set { _xmlFileName = value; }
  44.         }
  45.         protected override void Render(HtmlTextWriter writer)
  46.         {
  47.             if (!DesignMode)//设计时候 不使用
  48.             {
  49.                 writer.WriteLine("<ul>");
  50.                 //这里先判断标题名称是否为空然后考虑是否添加标题
  51.                 if (_titleText != "")
  52.                 {
  53.                     writer.WriteLine("<li id='caption'>" + _titleText + "</li>");
  54.                 }
  55.                 string s;
  56.                 //判断xml文件是否存在
  57.                 if (_xmlFileName != "")
  58.                 {
  59.                     DataSet ds = new DataSet();
  60.                     ds.ReadXml(Page.Server.MapPath(_xmlFileName));
  61.                     foreach (DataRow row in ds.Tables["link"].Rows)
  62.                     {
  63.                         s = "<li><a href='";
  64.                         s += row["url"].ToString();
  65.                         s += "'target='_blank'>";
  66.                         s += row["name"].ToString().Trim();
  67.                         s += "</a></li>";
  68.                         writer.WriteLine(s);
  69.                     }
  70.                 }
  71.                 writer.WriteLine("</ul>");
  72.             }
  73.         }
  74.     }
  75. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值