用户控件

1. 用户控件可以使开发人员能够根据应用程序的需求,方便的定义和编写控件。

2. 后缀名:.ascx 当用户访问页面时,是不能够被用户直接访问的。

3.用户控件中是没有<html><body>等元素的,主要是因为用户控件页面作为控件被引用到其他页面,而引用的页面已经有了这些元素标签

4.用户控件页面允许用户拖拽服务器控件,并编写相应的样式来实现用户控件,同时还支持事件、方法、委托等。

5. 在 .NET 里,可以通过两种方式把自己的控件插入到 Web 窗体框架中:

  • 用户控件:它是一小段页面,可以包括静态 HTML 代码和 Web 服务器控件。用户控件的好处是一旦创建了它,就可以在同一个 Web 应用程序的多个页面重用它。用户控件可以加入自己的属性,事件和方法。
  • 自定义服务器控件:它是被编译的类,它通过编程生成自己的 HTML 。服务器控件总是预编译到 DLL 程序集。根据你编写服务器控件的方式,可以从零开始呈现它的内容,继承一个现有的服务器控件的外观和行为并扩展它的功能,或者通过实例化和配置一组组合控件来创建界面

创建一个简单的用户控件

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserControl_Test.ascx.cs" Inherits="UserControl.DemoTest.UserControl_Test" %>
ID:<asp:TextBox ID="txtID" runat="server"></asp:TextBox>
Name:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

用户控件事件:

  protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write(txtID.Text + "" + txtName.Text);
        }

使用用户控件:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="UserControl.DemoTest.WebForm1" %>
//引入用户控件
<%@ Register Src="~/DemoTest/UserControl_Test.ascx" TagPrefix="uc1" TagName="UserControl_Test" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>//只需要设置ID runat属性,就可以使用用户控件了
        <uc1:UserControl_Test runat="server" ID="UserControl_Test" />
    </div>
    </form>
</body>
</html>

More Information:

http://www.cnblogs.com/SkySoot/archive/2012/09/04/2670678.html

http://www.cnblogs.com/clarkzheng/archive/2007/03/30/Development_And_Use_WebUserControl.html

时间: 2024-10-30 08:21:32

用户控件的相关文章

用户控件与页面间相互给各自的控件赋值

用户控件 ->页面 ((Label)this.Parent.Page.FindControl("AAA")).Text = "ABC"; AAA:页面控件ID Label:页面控件类型 页面 -> 用户控件 ((HiddenField)POPUSER_1.FindControl("hidNO")).Value = "VNBB"; POPUSER_1:用户控件ID HiddenField:用户控件中需要处理的控件的类

用户控件,动态创建添加用户控件

用户控件的制作步骤 1,新建一个项目,文件>新建>项目. 2,添加>新建项>用户控件.文件类型为.cs 使用用户控件 在用户控件设计业点击工具栏中的生成项,选择第一项生成解决方案,或直接点F6: 生成成功后在windows窗体的工具栏最顶端就会显示此用户控件 动态添加控件 输入一个值为n,点击按钮,动态生成n个按钮,并编号号 private void button1_Click(object sender, EventArgs e) { //先获取用户输入的是几 int count

WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日

好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修改使用 动态创建添加控件: 1 //定义控件类型 2 Button btn = new Button(); 3 //控件名称……等属性,也可以直接绑定各种事件 4 btn.Name = "mybutton" + i.ToString(); 5 //添加到窗体 this 可以替换为 容器控件 6 this.Co

无边框窗体和用户控件以及权限

无边框窗体: 就是吧窗体的边框去掉,然后自己做按钮设置功能. 无边框窗体的移动: 将下面代码直接复制粘贴,将窗体的鼠标按下事件的方法改成下面方法的名字就可以直接使用 1 //窗体移动API 2 [DllImport("user32.dll")] 3 public static extern bool ReleaseCapture(); 4 [DllImport("user32.dll")] 5 public static extern bool SendMessag

js清空web用户控件的值

假设你的用户控件里面有: <asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem Text="111" Value="111"></asp:ListItem> </asp:DropDownList> 然后你在aspx页面中注册这个控件: <%@ Register Src="~/WebUs

用户控件(二)--常见4 种路径问题解决:

二.路径:1.问题: 添加到用户控件中的图片以及超链接 都会有固定的路径,当将用户控件用到其他页面中后,对应的页面路径需要发生变化,否则无法正常作用显示:解决: 在添加到用户控件中的 HTML 标记或者标准控件中添加:runat= server id=“id名”:这样服务端会根据使用情况自动更正图片或者超链接路径:注意: 超链接可以直接使用标准控件:Hyperlink 它里面直接带 runat=server: 2.问题?样式表中值的路径:(例)background-image:url(路径) 解

winfrom获取用户控件里的控件对象

如何获取用户控件里的控件对象呢,其实思路也是很简单的, 比如有一个panel 用户控件 里面有许多的其他控件. 那么要找出一个Label控件怎么找呢,好的.现在我们就开始 首先,一个foreach循环获得所有控件. 然后根据类型筛选出这个类型的所有控件.然后就可以用Name来判断了 foreach(var lb in mi_image1.Controls) {    if (lb is Label)    {         Label obj = lb as Label;   //如果把循环改

028.用户控件、生命周期

1.控件父类型ControlFindControl(寻找子控件)Controls 子控件集合 2.AutoPostBack 允许自动回发作用:允许控件向服务器端提交请求 3.生命周期:页面对象从创建到销毁的过程,也就是处理请求的过程.在Page_Load()中需要判断IsPostBack 4.错误处理页面级别:当前页面的错误全局:整个应用程序的错误配置文件:整个应用程序错误,不能捕获异常,只能转向. 5.用户控件(自定义的服务端控件)目的:重用界面元素及代码<%--注册用户控件,Src指向控件,

用户控件UserControl图片资源定位

MEF编程实现巧妙灵活松耦合组件化编程,一些细节需要花费不小心思去处理: 其中组件中若包含用户控件,且需要访问图片资源,那么需要做以下设置 1. 用户控件(usercontrol)所在工程目录下,创建图片目录,假设创建images文件夹,然后添加1.png图片 2. 设置1.png图片属性-->生成操作-->Resource 3. 创建一个目录Views,扔个用户控件a.xaml,拖放图片控件ImageBrush 4. 那么ImageBrush的图片资源属性应如下设置: <ImageBr

ios用户控件

22:48:452015-03-16说道用控件,很地东方都在用.用好了,可以加快开发进度,提高可维护性,程序的稳定,健壮性,用不好,也可以提高经验值啊,下次就好了,算是学习成本吧. 不同语言,不同项目个不相同. IOS中还是xib方式.用户控件.h 用户控件.m 用户控件.xib .相互配合.xib文件还UI部分,这个算是有个设计视图,可以直接看效果,减少代码量. .h 定义对外部分,.m具体实现.