zoukankan      html  css  js  c++  java
  • ASP.NET服务器端控件学习(一)

      刚做完一个行业门户网站的项目,闲下来就发觉是不是可以把日常用的一些控件进行功能性的增加然后再封装?这样以后使用起来更方便一些.在网上查资料得知可以全部做成服务端控件,因以前从来没有做过这方面的开发,但编程本来就是一事通万理通.

      "初次见面,请多关照"

          打开VS2010  新建服务器控件,会得到如下所示代码,本文以Repeater封装AJAX实现无刷新功能:

     1 using System;
    2 using System.Collections.Generic;
    3 using System.ComponentModel;
    4 using System.Text;
    5 using System.Web;
    6 using System.Web.UI;
    7 using System.Web.UI.WebControls;
    8
    9 namespace ServerControl1
    10 {
    11 [DefaultProperty("Text")]
    12 [ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]
    13 public class ServerControl1 : WebControl
    14 {
    15 [Bindable(true)]
    16 [Category("Appearance")]
    17 [DefaultValue("")]
    18 [Localizable(true)]
    19 public string Text
    20 {
    21 get
    22 {
    23 String s = (String)ViewState["Text"];
    24 return ((s == null) ? "[" + this.ID + "]" : s);
    25 }
    26
    27 set
    28 {
    29 ViewState["Text"] = value;
    30 }
    31 }
    32
    33 protected override void RenderContents(HtmlTextWriter output)
    34 {
    35 output.Write(Text);
    36 }
    37 }
    38 }

    从顶部文件开始细说下来,一般在顶部都会有对此控件的一些说明,调用方法和事件.以repeater为例

    [Designer("")]控件设计的说明,常用的像System.Web.UI.Design.WebControls.控件名Designer 

    [DefaultEvent("")]控件的Event事件,常用的ItemCommand等

    [DefaultProperty("")]控件的属性,常用的DataSource,Text等等

    [PersistChildren()]将嵌套内容保存为嵌套控件,则为 true;否则为 false

    [ParseChildren()]标记服务器控件将指示分析器把包含在服务器控件标记中的元素解释为将通过关联的 ControlBuilder 进行分析的内容,即解释为控件。在这种情况下,ChildrenAsProperties 属性为 false

    [ToolboxDate()] 常用的<{0}:servercontrol1 runat=\"server\"></{0}:servercontrol1>没有""的时候,可以不用反斜杠

    临时有事,今天就写到这里



  • 相关阅读:
    系统调用与库函数
    在树莓派上 搭建sqlite数据库
    (转)inux Read系统调用
    查看当前日期是这一年的第几天
    求解某个范围内的全部完数
    求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
    输入三个整数x,y,z,请把这三个数据由大到小输出。
    模仿ArrayList底层实现
    可视化日历
    Oracle之约束条件1:主键约束
  • 原文地址:https://www.cnblogs.com/wavegui/p/2371588.html
Copyright © 2011-2022 走看看