asp.net的用户控件详解-很容易理解的

除在 ASP.NET 网页中使用 Web 服务器控件外,还可以使用用于创建 ASP.NET 网页的相同技术创建可重复使用的自定义控件。这些控件称作用户控件。

用户控件是一种复合控件,工作原理非常类似于 ASP.NET 网页 - 您可以向用户控件添加现有的 Web 服务器控件和标记,并定义控件的属性和方法。然后可以将控件嵌入 ASP.NET 网页中充当一个单元。

有时可能需要控件中具有内置 ASP.NET Web 服务器控件未提供的功能。在这种情况下,您可以创建自己的控件。有两个选择。您可以创建:

  • 用户控件。用户控件是能够在其中放置标记和 Web 服务器控件的容器。然后,可以将用户控件作为一个单元对待,为其定义属性和方法。

  • 自定义控件。自定义控件是编写的一个类,此类从 Control 或 WebControl 派生。

创建用户控件要比创建自定义控件方便很多,因为可以重用现有的控件(简单的说就是创建用户控件还是用现有的控件堆积起来的)。用户控件使创建具有复杂用户界面元素的控件极为方便。


 

ASP.NET Web 用户控件与完整的 ASP.NET 网页(.aspx 文件)相似,同时具有用户界面页和代码。可以采取与创建 ASP.NET 页相似的方式创建用户控件,然后向其中添加所需的标记和子控件。用户控件可以像页面一样包含对其内容进行操作(包括执行数据绑定等任务)的代码。

用户控件与 ASP.NET 网页有以下区别:

  • 用户控件的文件扩展名为 .ascx。

  • 用户控件中没有 @ Page 指令,而是包含 @ Control 指令,该指令对配置及其他属性进行定义。

  • 用户控件不能作为独立文件运行。而必须像处理任何控件一样,将它们添加到 ASP.NET 页中。

  • 用户控件中没有 html、body 或 form 元素。这些元素必须位于宿主页中。(注意这一点,假如我们在用户控件中添加了HTML,BODY等元素,其也不会显示错误,但是显示宿主页的时候,代码中就会有多个HTML,BODY元素,不符合XHTML的规则。)

可以在用户控件上使用与在 ASP.NET 网页上所用相同的 HTML 元素(html、body 或 form 元素除外)和 Web 控件。

 

 

如果已经开发了 ASP.NET 网页并打算在整个应用程序中访问其功能(也就是实现重用的功能),则可以对该页面略加改动,将它更改为一个用户控件。 

 

 

  1. 重命名 .aspx 文件,使其文件扩展名为 .ascx。

  2. 根据代码隐藏文件使用的编程语言,重命名代码隐藏文件使其文件扩展名为 .ascx.vb 或 .ascx.cs。

  3. 打开代码隐藏文件并将该文件继承的类从 Page 更改为 UserControl。如:public partial class control1:System.Web.UI.Page改为public partial class control1:System.Web.UI.UserControl

  4. 在 .aspx 文件中,执行以下操作:

    1. 从该页面中移除 html、body 和 form 元素。

    2. 将 @ Page 指令更改为 @ Control 指令。

    3. 移除 @ Control 指令中除 Language、AutoEventWireup(如果存在)、CodeFile 和 Inherits 之外的所有属性。

    4. 在 @ Control 指令中,将 CodeFile 属性更改为指向重命名的代码隐藏文件。

  5. 在 @ Control 指令中包含 className 属性。这允许将用户控件添加到页面时对其进行强类型化。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值