自定义控件篇(代码原创)

来源:互联网 发布:ssh登陆指定端口 编辑:程序博客网 时间:2024/05/01 04:37

最近自己在学习和使用自定义控件,发现在学习过程中享受到许多在开发时候不能发现的问题,前天做了个confirmbutton现在贴出来大家学习.希望高手给出意见.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security;
using System.Security.Permissions;
[assembly: TagPrefix("Samples.AspNet", "Sample")]
namespace Samples.AspNet
{
    [AspNetHostingPermission(SecurityAction.Demand,
        Level = AspNetHostingPermissionLevel.Minimal),
        AspNetHostingPermission(SecurityAction.InheritanceDemand,
        Level = AspNetHostingPermissionLevel.Minimal),
        ParseChildren(true, "Text"),
        DefaultProperty("ConfirmMessage"),
        ToolboxData("<{0}:uopuop ID='uopuop' runat=/"server/"> </{0}:uopuop>")
    ]
    public class uopuop : Button
    {
        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("Is OK?")]
        public virtual string ConfirmMessage
        {
            get
            {
                string s = (string)ViewState["ConfirmMessage"];
                return (s == null) ? "is ok?" : s;
            }
            set
            {
                ViewState["ConfirmMessage"] = value;
            }
        }


        protected override void RenderContents(HtmlTextWriter output)
        {
            //base.Attributes.Add("OnClick", "return confirm('" + ConfirmMessage + "');");
            ////base.Render(output);
            //base.RenderContents(output);

        }
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            base.AddAttributesToRender(writer);
            writer.AddAttribute("OnClick", "return confirm('" + ConfirmMessage + "');");
        }
    }
}