`
shirlly
  • 浏览: 1647887 次
  • 性别: Icon_minigender_2
  • 来自: 福州
社区版块
存档分类
最新评论

用户自定义控件学习笔记

    博客分类:
  • .NET
阅读更多
  用户自定义控件学习笔记 收藏
前两天写的程序用了一下用户自定义控件, 在使用的时候总是感觉不太明白尤其是在给自定义控件传递参数和多个自定义控件的组合上不是很明白,今天花了点时间学习一下.总结以下以后也好学习:

1..用户自定义控件:为了提高开发效率和减少维护成本,人们把页面中的相同的东西提取出来放到一个控件中,其他页面只需要直接使用这个控件就可以达到效果(就象我们使用web标准控件似的).同时控件中的内容一修改引用的页面将自动同步修改,这样就大大的减少了维护难度.自定义控件是一个以.ascx为扩展名的文件在其中我们可以写静态或动态的内容:如:Header.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Header.ascx.cs" Inherits="userControl_Header" %>
<strong><span style="font-size: 24pt">Header</span></strong><hr/>


使用方法:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Src="userControl/Header.ascx" TagName="Header" TagPrefix="uc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
<uc1:Header ID="Header1" runat=server /> 
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>
 

<%@ Register Src="userControl/Header.ascx" TagName="Header" TagPrefix="uc1" %>
注册用户自定义控件,Src为文件相对于引用页的位置,TagPrefix:为命名空间别名,TagName:为类别名.

<uc1:Header ID="Header1" runat=server />引用自定义控件

2..给自定义页面定义属性,在使用是给值:后台代码中加入headerText属性:Hpublic string headerText="Header";

修改自定义控件前台页面:<strong><span style="font-size: 24pt"><%=headerText %></span></strong><hr />让其动态输出内容.在引用页面中定义时给属性付值:
<uc1:Header ID="Header1" headerText="Custom HeaderText"  runat=server  /> 也可以在page_load事件中给自定义控件指定属性或调用他的公共方法:Header1.headerText="Default Page";

3.动态的指定空件:<asp:PlaceHolder ID=holder runat=server/>page-Load事件中:

private Control control;
    protected void Page_Load(object sender, EventArgs e)
    ...{
        control=LoadControl("userControl/Header.ascx");
        this.holder.Controls.Add(control);
    }

这个时候需要将contro转换成具体的类型才可以实现属性的设置,如:((userControl_Header)control).headerText = "Dynatic Header Text";
4.基本上就这么一点东西了.写自定义控件就和写一个类差不多了,可以给它指定属性和方法.还有一点不太明白:自定义控件中不能包含表单,但是一个页面中又只能有一个表单这样当我的页面中包含多个自定义控件时必须一次提交所有控件中的数据而无法只提交某个控件的数据.

转自:http://blog.csdn.net/angel_bear/archive/2006/10/03/1319801.aspx
分享到:
评论

相关推荐

    Android自定义控件之组合控件学习笔记分享

    我们来讲一下自定义组合控件,相信大家也接触过自定义组合控件吧,话不多说,直接干(哈~哈~): 大家看到这个觉得这不是很简单的吗,这不就是写个布局文件就搞定嘛,没错,确实直接上布局就行,不过,我只是用这个...

    asp.net自定义控件代码学习笔记

    在本篇学习笔记中,我们将探讨如何基于Clingingboy的《asp.net控件开发基础》来创建一个简单的自定义控件——myGrid。 首先,自定义控件的创建通常涉及继承已有的ASP.NET内置控件,或者直接继承`System.Web.UI....

    自定义控件资料

    自定义控件允许开发者根据需求创建独特的界面元素,以实现更丰富的交互效果和视觉表现,从而提升用户体验。通过自定义控件,我们可以打破Android SDK预设的限制,打造独一无二的应用界面。 首先,自定义控件的基本...

    VS2005.net控件学习笔记

    VS2005.net控件学习笔记是一份针对初学者的详细教程,旨在帮助那些刚开始接触Visual Studio 2005 .NET开发环境的人更好地理解和使用控件。这些控件是构建用户界面的基础元素,对于任何.NET应用程序的开发都是至关...

    Android 高仿 QQ5.0 侧滑菜单效果 自定义控件来袭【学习鸿洋_视频博客笔记总结】

    本篇文章将深入探讨如何实现“Android高仿QQ5.0侧滑菜单效果”,这一特性是通过自定义控件来达成的,旨在帮助开发者们提升应用的交互性和美观度。 首先,我们需要理解QQ5.0的侧滑菜单设计。这个设计允许用户从屏幕...

    asp.net控件笔记 asp.net控件笔记

    除了内置的控件,开发者还可以创建自定义控件以满足特定需求。自定义控件可以组合现有控件,添加新的属性和方法,甚至生成自定义的HTML输出。 八、控件的生命周期 理解控件的生命周期对有效编程至关重要。从初始化...

    Android自定义控件之开关按钮学习笔记分享

    在Android开发中,自定义控件是一种常见的需求,它能帮助开发者实现更丰富的交互和视觉效果。本篇笔记主要关注的是如何创建一个自定义的开关按钮,这个过程涉及到对View的继承、自定义属性的设置以及图形绘制。 ...

    AndroidAnimationView:android动画,自定义控件,学习记录演示

    动画(animation,animator)###自定义控件(Ondraw,OnMesure,Onlayout)-以及实战(最后策划)[Ps莫在意向代码习惯是否好坏,因为时间有限,主要是分享...自定义控件,学习记录演示这里涵盖了笔记,实例跟着启舰学习

    IOS 自定义导航栏 和表格 学习笔记

    这篇学习笔记将深入探讨如何在iOS应用中实现自定义导航栏以及如何有效利用表格展示数据。 首先,自定义导航栏允许开发者根据应用程序的品牌风格或功能需求进行个性化设计。在iOS中,我们通常使用...

    ProgressBar(自定义样式)学习笔记

    本篇学习笔记将深入探讨如何自定义ProgressBar的样式。 首先,我们了解下ProgressBar的基本类型。Android提供了几种内置的样式,如Horizontal(水平)、Circular(圆形)和Indeterminate(不确定进度)。Horizontal...

    Sencha touch学习笔记二:自定义目录方式的创建第一个应用

    在本文中,我们将深入探讨如何使用Sencha Touch框架自定义目录结构来创建你的第一个应用程序。Sencha Touch是一款强大的JavaScript框架,专为构建移动Web应用程序而设计。它提供了丰富的UI组件和数据管理工具,使得...

    安卓学习笔记

    这份“安卓学习笔记”旨在帮助我们全面了解Android开发的核心概念,特别是在自定义控件和XML方面的应用。 首先,Android是一个开源的移动操作系统,它基于Linux内核,提供了丰富的API供开发者构建应用程序。Android...

    【VB.NET】WinForm扩展TextBox和ComboBox控件:仿百度搜索框(输入文本智能模糊提示说明、自动匹配过滤)

    ComboBox控件可以输入文本...该自定义控件利用visual studio2017开发,使用VB.NET语言对TextBox和ComboBox进行了改写,实现类百度搜索框似的输入文本智能模糊提示说明、自动匹配过滤功能。具体效果请参阅本人相关博文。

    WPF动画、模板、样式、行为、多线程、数据绑定、MVVMLight用法、自定义控件示例(不断更新中)

    本资源是笔者学习过程中的笔记,目前包含了WPF中基本控件用法、数据绑定 、WPF动画效果、样式、模板定义、自定义控件、附加行为、多线程、串口模拟编写思路、导航页面、拖动效果、查看控件的默认模板,在集合中如果...

    《Android 群英传》读书笔记:自定义 View 之创建复合控件

    在《Android群英传》的读书笔记中,可能还涵盖了如何测试自定义View,如何优化性能,以及如何在项目中合理使用自定义控件避免过度设计等话题。TopBarTest这个文件名可能代表了一个具体的复合控件示例,它可能是书中...

    Android学习笔记(十)——实现新闻列表

    Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...

    mfc控件经典学习

    - 除了Windows标准控件和ActiveX控件外,MFC还提供了额外的自定义控件类。 - 这些控件类包括:`CBitmapButton`、`CCheckListBox` 和 `CDragListBox`。 #### 三、Windows标准控件详解 **表6.1** 展示了常见的...

Global site tag (gtag.js) - Google Analytics