Asp.net控件开发----控件开发基础

 我来答
会哭的礼物17
2022-10-15 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5978
采纳率:100%
帮助的人:32.6万
展开全部

   服务器控件开发基础

  当开发一个服务器控件时 首先要明白其内部的工作机理 其实在页面内部每一点由返回的HTML代码无论是简单的<span>标签 或者是button按钮 或者是复杂的gridview控件 都是由继承自System Web UI Control的对象生成的

   控件的属性

  控制控件的方法大多是通过控件的属性来操作的 通过控制服务器控件的属性 就可以相应的改变服务器生成的

  下面是一个服务器控件的属性:   

  

   在Visual Studio里 当通过属性窗口来改变控件的属性时 VS会自动将属性添加到对应的aspx的HTML里 而在内添加属性时 在属性窗口里也会对应显示更改过的属性视图比如

  <asp:Button ID= Button runat= server Text= Button CommandName= cName />

  在属性窗口里会对应显示 如下图

     当然某些控件的属性会略有不同 比如常用的Label控件

  <asp:Label ID= Label runat= server >这里是Text属性</asp:Label>

  在开始符号和结束符号之间的内容会被设置成Text属性

  当然 最实用也是我们最常用的是通过C#以编程的方式动态的修改控件的属性 这就不说了

   控件的方法

  控件通过方法来操作更加复杂的控件操作 通常在控件的方法内部会有很复杂的过程 一般包括几个内部函数和属性的组合 比如

  private void LoadDropDownList()

  {

  ArrayList list = new ArrayList();

  list Add( Hello );

  list Add( Goodbye );

  GridView DataSource = list;

  GridView Databind();

  }

  这样 通过调用Databind()方法 就可以讲gridview和数据源进行绑定

  

   控件的事件

  控件通过事件来通知其它类或者客户端其内部的某个状态被改变 事件是一种灵活的机制 当控件与客户端进行交互的时候 事件会通过Http Post方法和服务器进行交互 通过自动回传机制 WEB开发中的事件表现起来就会像开发Windows FORM程序一样(当然 速度是无法和Form相比的)

  在Visual Studio中 可以在属性窗口中通过黄色的闪电图标来显示和控制控件的事件 如下

  当双击相应的事件后 会在后台产生默认的处理方法 命名规则为 控件名_事件名

           WEB Page 本质是一个控件树

    

   在aspx页面的头部将Trace= true 设置到Page后 页面会显示相应的追踪信息 在Control Tree那一节 你会发现整个页面其实就是一个控件树 如图:

  

  根控件?

   OK 既然页面的本质是一个控件树 按照C#是完全面向对象的语言惯例(所有的一切都是继承于System Object) 那么所有控件共同的父类是什么?

  在中 所有的控件被分布在 个主要命名空间中 分别为

  System Web UI

  System Web UI WebControls

  System Web UI HtmlControls

  它们之间的关系如下图所示

  

  System Web UI 命名空间

lishixinzhi/Article/program/net/201311/12910

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式