返回首页

ASP.NET-服务器控件

时间:2020-01-13 16:05来源:知行网www.zhixing123.cn 编辑:麦田守望者

 控件是图形用户界面的小构建块,其中包括文本框,按钮,复选框,列表框,标签和许多其他工具。使用这些工具,用户可以输入数据,进行选择并指出他们的偏好。

控件还用于结构化作业,例如验证,数据访问,安全性,创建母版页和数据操纵。

ASP.NET使用五种类型的Web控件,它们是:

  • HTML控件
  • HTML Server控件
  • ASP.NET Server控件
  • ASP.NET Ajax服务器控件
  • 用户控件和自定义控件
  • ASP.NET服务器控件是ASP.NET中使用的主要控件。这些控件可以分为以下几类:

  • 验证控件 -用于验证用户输入,它们通过运行客户端脚本起作用。

  • 数据源控件 -这些控件可将数据绑定到不同的数据源。

  • 数据视图控件 -这些是各种列表和表,可以绑定到数据源中的数据以进行显示。

  • 个性化控件 -用于根据用户信息根据用户首选项对页面进行个性化。

  • 登录和安全控件 -这些控件提供用户身份验证。

  • 母版页 -这些控件在整个应用程序中提供一致的布局和界面。

  • 导航控件 -这些控件有助于导航。例如,菜单,树状视图等。

  • 丰富的控件 -这些控件实现特殊功能。例如,AdRotator,FileUpload和Calendar控件。

  • 使用服务器控件的语法为:

    <asp:controlType  ID ="ControlID" runat="server" Property1=value1  [Property2=value2] />

    另外,Visual Studio具有以下功能,以帮助产生无错误的编码:

  • 在设计视图中拖放控件
  • 显示并自动完成属性的IntelliSense功能
  • 在属性窗口中直接设置属性值
  • 服务器控件的属性

    具有视觉外观的ASP.NET服务器控件是从WebControl类派生的,并继承该类的所有属性,事件和方法。

    WebControl类本身和某些其他视觉上无法呈现的服务器控件是从System.Web.UI.Control类派生的。例如,PlaceHolder控件或XML控件。

    ASP.Net服务器控件继承了WebControl和System.Web.UI.Control类的所有属性,事件和方法。

    下表显示了所有服务器控件共有的继承属性:

    属性 描述
    快捷键
    用Alt键按下此键可将焦点移至控件。
    属性
    它是与控件上的属性不对应的任意属性的集合(仅用于渲染)。
    背景色
    背景颜色。
    绑定容器
    包含此控件的数据绑定的控件。
    边框颜色
    边框颜色。
    边框样式
    边框样式。
    边框宽度
    边框宽度。
    原因验证
    指示它是否引起验证。
    ChildControlCreated
    它指示是否已创建服务器控件的子控件。
    客户编号
    HTML标记的控件ID。
    语境
    与服务器控件关联的HttpContext对象。
    控制项
    控件中包含的所有控件的集合。
    ControlStyle
    Web服务器控件的样式。
    CSS类
    CSS类
    DataItemContainer
    如果命名容器实现IDataItemContainer,则获取对命名容器的引用。
    DataKeysContainer
    如果命名容器实现IDataKeysControl,则获取对命名容器的引用。
    设计模式
    它指示控件是否在设计图面上使用。
    DisabledCssClass
    获取或设置在禁用控件时应用于呈现的HTML元素的CSS类。
    已启用
    指示控件是否为灰色。
    启用主题
    指示主题是否适用于控件。
    EnableViewState
    指示是否保持控件的视图状态。
    大事记
    获取控件的事件处理程序委托的列表。
    字形
    字体
    前景色
    前景色。
    HasAttributes
    指示控件是否设置了属性。
    HasChildViewState
    指示当前服务器控件的子控件是否具有任何保存的视图状态设置。
    高度
    高度(以像素为单位)或%。
    ID
    控件的标识符。
    IsChildControlStateCleared
    指示此控件中包含的控件是否具有控件状态。
    已启用
    获取一个值,该值指示控件是否已启用。
    IsTrackingViewState
    它指示服务器控件是否正在将更改保存到其视图状态。
    IsViewStateEnabled
    它指示是否为此控件启用了视图状态。
    LoadViewStateById
    它通过ID而不是索引指示控件是否参与加载其视图状态。
    包含控件的页面。
    父级
    父控件。
    渲染兼容性
    它指定了呈现的HTML将与之兼容的ASP.NET版本。
    现场
    在设计图面上呈现时,用于承载当前控件的容器。
    SkinID
    获取或设置要应用于控件的皮肤。
    样式
    获取文本属性的集合,这些文本属性将作为样式属性呈现在Web服务器控件的外部标记上。
    标签索引
    获取或设置Web服务器控件的选项卡索引。
    标记键
    获取与此Web服务器控件相对应的HtmlTextWriterTag值。
    标签名称
    获取控件标签的名称。
    模板控件
    包含此控件的模板。
    TemplateSourceDirectory
    获取包含该控件的页面或控件的虚拟目录。
    工具提示
    获取或设置当鼠标指针悬停在Web服务器控件上时显示的文本。
    唯一身份
    唯一标识符。
    ViewState
    获取状态信息字典,该字典可保存和恢复跨同一页面的多个请求的服务器控件的视图状态。
    ViewStateIgnoreCase
    它指示StateBag对象是否不区分大小写。
    ViewStateMode
    获取或设置此控件的视图状态模式。
    可见
    它指示服务器控件是否可见。
    宽度
    获取或设置Web服务器控件的宽度。

    服务器控件的方法

    下表提供了服务器控件的方法:

    方法 描述
    AddAttributesToRender
    将需要呈现的HTML属性和样式添加到指定的HtmlTextWriterTag。
    已添加控件
    将子控件添加到控件对象的Controls集合后调用。
    AddParsedSubObject
    通知服务器控件已解析了XML或HTML元素,并将该元素添加到服务器控件的控件集合中。
    ApplyStyleSheetSkin
    将页面样式表中定义的样式属性应用于控件。
    ClearCachedClientID
    基础设施。将缓存的ClientID值设置为null。
    ClearChildControlState
    删除服务器控件的子控件的控件状态信息。
    ClearChildState
    删除所有服务器控件的子控件的视图状态和控件状态信息。
    ClearChildViewState
    删除所有服务器控件的子控件的视图状态信息。
    CreateChildControls
    用于创建子控件。
    CreateControlCollection
    创建一个新的ControlCollection对象以保存子控件。
    CreateControlStyle
    创建用于实现所有与样式相关的属性的样式对象。
    数据绑定
    将数据源绑定到服务器控件及其所有子控件。
    DataBind(布尔)
    将数据源绑定到服务器控件及其所有子控件,并带有引发DataBinding事件的选项。
    DataBindChildren
    将数据源绑定到服务器控件的子控件。
    处理
    使服务器控件能够在从内存中释放之前执行最终清除。
    确保儿童控制
    确定服务器控件是否包含子控件。如果没有,它将创建子控件。
    确保ID
    为没有标识符的控件创建标识符。
    等于(对象)
    确定指定的对象是否等于当前对象。
    完成
    允许对象尝试释放资源并执行其他清理操作,然后再由垃圾回收回收该对象。
    FindControl(字符串)
    在当前命名容器中搜索具有指定id参数的服务器控件。
    FindControl(String,Int32)
    在当前命名容器中搜索具有指定ID和一个整数的服务器控件。
    焦点
    将输入焦点设置为控件。
    GetDesignModeState
    获取控件的设计时数据。
    获取类型
    获取当前实例的类型。
    GetUniqueIDRelativeTo
    返回指定控件的UniqueID属性的前缀部分。
    HasControls
    确定服务器控件是否包含任何子控件。
    HasEvents
    指示是否为控件或任何子控件注册了事件。
    IsLiteralContent
    确定服务器控件是否仅包含文字内容。
    LoadControlState
    恢复控制状态信息。
    LoadViewState
    恢复视图状态信息。
    MapPathSecure
    检索虚拟路径(绝对路径或相对路径)映射的物理路径。
    MemberwiseClone
    创建当前对象的浅表副本。
    合并样式
    将指定样式的所有非空白元素复制到Web控件,但不覆盖控件的任何现有样式元素。
    OnBubbleEvent
    确定是否将服务器控件的事件沿页面的UI服务器控件层次结构传递。
    OnDataBinding
    引发数据绑定事件。
    初始化
    引发Init事件。
    负载
    引发Load事件。
    OnPreRender
    引发PreRender事件。
    OnUnload
    引发Unload事件。
    打开文件
    获取用于读取文件的流。
    RemovedControl
    从控件对象的控件集合中删除子控件后调用。
    渲染
    将控件呈现给指定的HTML编写器。
    RenderBeginTag
    将控件的HTML开头标记呈现给指定的编写器。
    渲染儿童
    将服务器控件子级的内容输出到提供的HtmlTextWriter对象,该对象将要呈现的内容写入客户端。
    渲染内容
    将控件的内容呈现给指定的编写器。
    RenderControl(HtmlTextWriter)
    将服务器控件内容输出到提供的HtmlTextWriter对象,并在启用跟踪的情况下存储有关控件的跟踪信息。
    RenderEndTag
    将控件的HTML关闭标记渲染到指定的编写器中。
    ResolveAdapter
    获取负责呈现指定控件的控件适配器。
    SaveControlState
    保存自页面发布回服务器以来发生的所有服务器控件状态更改。
    SaveViewState
    保存在调用TrackViewState方法之后修改的所有状态。
    SetDesignModeState
    设置控件的设计时数据。
    ToString
    返回表示当前对象的字符串。
    TrackViewState
    使控件跟踪对其视图状态的更改,以便可以将其存储在对象的视图状态属性中。

    让我们来看一个特定的服务器控件-树视图控件。树形视图控件位于导航控件下。其他导航控件是:菜单控件和SiteMapPath控件。

    在页面上添加树视图控件。从任务中选择“编辑节点...”。使用树视图节点编辑器编辑每个节点,如下所示:

    ASP.NET编辑节点

    创建节点后,在设计视图中将如下所示:

    ASP.NET编辑节点2

    AutoFormat ...任务允许您格式化树形视图,如下所示:

    ASP.NET自动套用格式

    在页面上添加标签控件和文本框控件,并将它们分别命名为lblmessage和txtmessage。

    编写几行代码,以确保在选择特定节点时,标签控件显示节点文本,文本框显示其下的所有子节点(如果有)。文件后面的代码应如下所示:

    using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq;  using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts;  using System.Xml.Linq;   namespace eventdemo {    public partial class treeviewdemo : System.Web.UI.Page {           protected void Page_Load(object sender, EventArgs e) {           txtmessage.Text = " ";        }              protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e) {                 txtmessage.Text = " ";           lblmessage.Text = "Selected node changed to: " + TreeView1.SelectedNode.Text;          TreeNodeCollection childnodes = TreeView1.SelectedNode.ChildNodes;                    if(childnodes != null) {             txtmessage.Text = " ";                          foreach (TreeNode t in childnodes) {                txtmessage.Text += t.Value;             }          }       }    } }

    执行页面以查看效果。您将能够展开和折叠节点。

    ASP.NET控制节点

     
    ------分隔线----------------------------
    标签(Tag):
    ------分隔线----------------------------
    推荐内容
  • ASP.NET-HTML服务器

    HTML服务器控件基本上是对标准HTML控件的增强,它们可以启用服务器端处理。 服务器不...

  • ASP.NET-服务器控件

    控件是图形用户界面的小构建块,其中包括文本框,按钮,复选框,列表框,标签和许多其...

  • ASP.NET-服务器端

    我们研究了页面生命周期以及页面如何包含各种控件。 页面本身被实例化为控件对象。 所...

  • ASP.NET-事件处理

    事件是一种动作或事件,例如鼠标单击,按键按下,鼠标移动或任何系统生成的通知。 流...

  • ASP.NET-第一个示例

    ASP.NET页面由许多服务器控件以及HTML控件,文本和图像组成。 来自页面的敏感数据以及...

  • ASP.NET-生命周期

    ASP.NET生命周期指定如何: ASP.NET处理页面以产生动态输出 该应用程序及其页面被实例...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8国际平台入口
  • Photoshop龙8国际平台入口
  • 3DMAX龙8国际平台入口
  • AutoCAD龙8国际平台入口
  • CorelDRAW龙8国际平台入口
  • Matlab龙8国际平台入口
  • 其他龙8国际平台入口
  • .Net龙8国际平台入口
  • Asp龙8国际平台入口
  • Php龙8国际平台入口
  • Jsp龙8国际平台入口
  • Ajax龙8国际平台入口
  • Android教程
  • 其他龙8国际平台入口
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影