VS中“ASP.NET服务器控件”

最近在看关于ASP.NET方面的知识,很有自知之明地从基础做起,下面是查的一些东西,记不住先总结成博客,以后查看,起风~~~~

using System;
using System.Collections.Generic;
using System.ComponentModel;//封装零个或更多个组件。
using System.Linq;//提供支持使用语言集成查询 (LINQ) 进行查询的类和接口。
//LINQ:一组用于c#和Visual Basic语言的扩展。
using System.Text;
using System.Threading.Tasks;//表示一个异步操作。
using System.Web;
using System.Web.UI;//创建作为用户界面元素出现 Web 的 ASP.NET 服务器控件和页。
using System.Web.UI.WebControls;//包含允许创建在网页上的 Web 服务器控件的类。

namespace HelloWorldWebAplication
{
    [DefaultProperty("Text")]//设置控件默认的属性的,这是其Text属性。
        //当选择这个控件,在属性窗口中自动被选中的是Text属性

    //当你将这个控件从toolbox中拖放到WEBFORM中时
   //在aspx文件的HTML代码中添加的对该控件的定义
    [ToolboxData("<{0}:XystinerControlLib runat=server>")]
    public class XystinerControlLib : WebControl
    {
        //属性是否可以绑定一个有效数据源
        [Bindable(true)]//可以绑定有效数据源,且应引发该属性的属性更改通知

        //Browsable(true)是否应该在属性浏览器中显示;只读属性和不希望在属性浏览器中见到的属性被设置为 Browsable(false)

        //指定属性在属性浏览器中进行分组显示的类别,帮助可视化编辑器将属性进行逻辑分组
        [Category("Appearance")]//通常分为:外观(Appearance)、行为 (Behavior)、布局(Layout)、数据(Data)、操作(Action)、键盘(Key)和鼠标(Mouse)等。还可以自定义分组类别

        //Description,指定显示在属性浏览器下方,属性的文字说明。
    
        //NotifyParentProperty:当此特性应用到的属性的值被修改时将通知其父属性;通常使用布尔值进行设置。

        [DefaultValue("")]//服务器控件的默认属性
        [Localizable(true)]//[Localizable(true)]
        //TypeConverter:用做此特性所绑定到的对象的转换器的类型。用于转换的类必须从TypeConverter继承。使用ConverterTypeName属性来获取为该特性所绑定到的对象提供数据转换的类名。
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? String.Empty : s);
            }

            set
            {
                ViewState["Text"] = value;
            }
        }

        protected override void RenderContents(HtmlTextWriter output)
            //HtmlTextWriter当向客户端呈现标记时,将使用 ASP.NET 服务器控件的格式设置功能
        {
            output.Write(Text);
        }
    }
}


    DesignerSerializationVisibility:指定属性是否以及如何在代码中序列化,其值为DesignerSerializationVisibility的枚举值。存在3种设置方式:
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) 指定序列化程序不应该序列化属性值;
DesignerSerializationVisibility(DesignerSerializationVisibility.Visible) 指定应该允许序列化程序序列化属性的值;
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)指定序列化程序应该序列化属性的内容,而不是属性本身。此字段为只读。.Visible为其默认值。

ParseChildren:在页面上以声明方式使用控件时,嵌套在服务器控件标记内的XML元素是应该视为属性还是应视为子控件。两种声明方式:①ParseChildren(true)表示将子XML元素作为服务器控件的子控件分析;②ParseChildren(bool childrenasProperty, string defaultProperty),defaultProperty定义默认情况下将子控件分析为服务器控件的集合属性。

参考:http://www.cnblogs.com/tonyqus/archive/2005/02/15/104576.html

           http://wenda.so.com/q/1363898390065625?src=150

            http://www.cnblogs.com/wwan/archive/2010/11/18/1880357.html

           http://blog.csdn.net/lllljz/article/details/8539421

你可能感兴趣的:(-----项目总结)