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

ASP.NET用户控件说明和添加事件

    博客分类:
  • .NET
阅读更多
在WEB开发中经常有一些代码是在很多地方重复出现的,象导航栏、用户登录/注册和首页上面的一些固定栏目等。这些可重用的代码我们可以把它写成一个通用模块供需要的地方来引用,这样做即节省了开发时间还方便以后的维护。
在ASP.NET的web编程中提供了一种叫做“用户控件”可以帮助我们完成这种做法,其文件扩展名是“.ascx”,由于ascx文件是用来插入ASPX页面中使用的,而一个ASPX窗体只能包含一个<form>标志,所以ascx用户控件不能包含<form></form>标志。

1、下面使用一个经典入门范例来创建一个简单的用户控件:
Hello.ascx
 <html>
    <body>
      <h1>经典入门范例</h1><hr>
      <h3>Hello Word</h3>
    </body>
  </html>

把这段代码保存为Hello.ascx文件,然后在ASPX页面上调用,具体调用如下:
Hello.aspx  
<%@Register TagPrefix=”wen” TagName=”Hello” src=”Hello.ascx”%>
<html>
<body>
 <form id=frm runat=server>
   <wen:Hello ID=MyHello runat=server>
 </form>
</body>
</html>

在IE浏览器的地址里输入 http://localhost/Hello.aspx运行,将在页面上打印出字符串“Hello word”。

代码说明:1)指令@Register定义了用户控件文件的标签名“Hello”和标签前缀名”wen;”
                    2)src属性是连接到用户控件的相关的文件名;
         3)<wen:Hello ID=MyHello runat=server>这一句是在ASPX窗体中调用用户控件Hello.ascx的语句。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2、以下的演示代码给控件添加属性
下面我们举一个用户登录的文件,把它写成用户控件,在向其中添加UserName和PassWord这两个属性。
向用户控件添加属性很简单,只要在ascx文件中的<script></script>块中定义就行了。 至此,我们已经给UserLogin.ascx文件添加了UserName和PassWord这两个属性了,以下DEMO演示如何在ASPX页面上引用这两个属性。

UserLogin.ascx  
<html>
<title>用户登录</title>
<body>
 <table>
    <tr>
      <td>用户名:</td>
      <td><asp:TextBox ID=”txt1” runat=”server”></td>
    </tr>
<tr>
 <td>密  码:</td>
 <td><asp:TextBox ID=”txt2” TextMode=”password” runat=”server”></td>
</tr>
<hr>
<tr>
 <td></td>
 <td><asp:LinkButton Text=”登陆” runat=”server”></td>
</tr>
</table>
</body>
</html>
<script language=”C#” runat=”server”>
 public string UserName{
   get{return txt1.Text;}
   set{txt1.Text=value;}
}
 public string PassWord{
   get{return txt2.Text;}
   set{txt2.Text=value;}
}
</script>
 

UserLogin.aspx
<%@Register TagPrefix=”wen” TagName=”UserLogin” src=” UserLogin.ascx” %>
<html>
<title>引用属性</title>
<body>
 <form runat=”server”>
    <wen: UserLogin ID=”MyLogin” runat=”server”>
 </form>
  用户名:<asp:Label ID=”Lab1” runat=”server”/><br>
  密  码:<asp:Label ID=”Lab2” runat=”server”/><br>
</body>
</html>
<script language=”C#” runat=”server”>
void Page_Load(Object sender,EventArgs e){
 if(IsPostBack){
    Lab1.Text=MyLogin.UserName;
    Lab2.Text=MyLogin.PassWord;
}
}
</script>
 

3、以下的演示代码给控件添加事件
在上面我们定义了一个用户登录的用户控件UserLogin.ascx 文件,里面包含了一个LinkButton服务器按钮控件,当用户单击该按钮时服务器端会自动生成一个回发来激发Page.Load事件。除了服务器自动产生回发来激发Page.Load事件外,我们可以给LinkButton添加一个它自己的事件,添加事件其实也很简单,通过在<script></script>块中声明事件,然后把该事件添加到用户控件中。
我们现在通过以下的例子来说明如何在UserLogin.ascx用户控件中添加事件。 
UserLogin.ascx  
<html>
<title>用户登录</title>
<body>
 <table>
    <tr>
      <td>用户名:</td>
      <td><asp:TextBox ID=”txt1” runat=”server”></td>
    </tr>
<tr>
 <td>密  码:</td>
 <td><asp:TextBox ID=”txt2” TextMode=”password” runat=”server”></td>
</tr>
<hr>
<tr>
 <td></td>
 <td><asp:LinkButton Text=”登陆” OnClick=”MyOnClick” runat=”server”></td>
</tr>
</table>
</body>
</html>
<script language=”C#” runat=”server”>
 public string UserName{
   get{return txt1.Text;}
   set{txt1.Text=value;}
}
 public string PassWord{
   get{return txt2.Text;}
   set{txt2.Text=value;}
}
public event Eventhandler Login; //添加事件句柄 
          void MyOnClick(Object Sender,EventArgs e){ 
             if(Login != null) 
                Login(this,new EventArgs()); //激活Login事件 
        } 
    </script>
 

在ASPX页面中使用自定义事件:
<%@Register TagPrefix=”wen” TagName=”UserEvent” src=” UserLogin.ascx”%>  
<html>
<body>
 <form runat=server>
   <wen:UserEvent ID=”MyLogin” OnLogin=”OnLoginPress” runat=”server”>
 </form>
 <asp:Label ID=”Lab1” runat=”server”/><br>
 <asp:Label ID=”Lab2” runat=”server”/><br>
</body>
</html>
<script Language=”C#” runat=”server”>
void OnLoginPress(Object Render, EventArgs e){
 Lab1.Text=MyLogin.UserName;
 Lab2.Text=MyLogin.PassWord;
}
</script>
 

说明:这里的OnLogin事件是我们给用户控件UserLogin.ascx文件添加的事件。
转自:http://blog.csdn.net/durongjian/archive/2009/01/10/3746095.aspx
分享到:
评论

相关推荐

    ASP.NET用户控件和自定义控件

    用户控件是ASP.NET中的基本自定义UI元素,它是通过将多个标准ASP.NET控件组合在一起,形成一个复合控件来实现的。用户控件可以看作是网页的微型版,具有自己的HTML、服务器控件和脚本。创建用户控件的主要步骤包括:...

    asp.net用户控件

    ASP.NET用户控件是.NET Framework框架中用于构建可重用组件的重要工具,它们在Web应用程序开发中扮演着关键角色。用户控件(User Control)允许开发者创建自定义的UI元素,这些元素可以像内置服务器控件一样在网页上...

    asp.net用户控件使用实例

    在ASP.NET中,用户控件(User Control)是一种强大的功能,允许开发者创建可重用的、自定义的UI组件。用户控件可以看作是轻量级的自定义控件,它们结合了多个内置控件的功能,或者实现了特定的业务逻辑,以便在多个...

    asp.net Ajax控件

    ASP.NET AJAX控件是微软为Web开发者提供的一种增强网页交互性和用户体验的技术。它结合了ASP.NET框架的强大功能和JavaScript库(Microsoft AJAX Library)的灵活性,允许开发者创建具有局部刷新、异步更新和丰富用户...

    asp.net实现动态添加控件并添加事件实例

    在这个实例中,我们将深入探讨如何在 ASP.NET 中动态地添加控件以及如何为这些控件添加事件处理程序。 在 ASP.NET 中,动态创建控件是指在页面生命周期的某个阶段(通常是 OnInit 或 OnLoad 事件)通过代码而非在...

    Asp.Net开发控件

    随着技术的发展,Asp.Net控件库也在不断更新和完善,不仅包含了传统的WebForms控件,还扩展到了MVC框架。 在Asp.Net WebForms中,开发者可以使用诸如Button、TextBox、Label、DropDownList、GridView等常见控件。...

    asp.net用户控件实现确认提醒框源码

    在项目中,右键单击"App_Controls"目录,选择"添加" -&gt; "新建项",然后选择"ASP.NET用户控件"。命名为"ConfirmDialog.ascx"。 步骤2:设计用户控件界面 在"ConfirmDialog.ascy.cs"文件中,添加必要的HTML元素,例如...

    ASP.NET的用户控件

    用户控件支持事件处理,就像内置的ASP.NET控件一样。可以在用户控件的后台代码中定义事件处理方法,然后在父页面上触发这些事件。例如,可以在用户控件中添加一个按钮,当点击按钮时触发一个自定义事件,父页面可以...

    asp.net用户控件的使用

    用户控件(User Control)是ASP.NET中一种自定义的Web控件,它由开发者根据需求组合多个内置或自定义的ASP.NET控件,并封装成一个独立的组件。用户控件可以包含HTML元素、服务器控件、脚本代码、样式表等,可以像...

    ASP.NET上传控件

    附带的使用说明书应该详细介绍了如何在项目中引用eWebapp.Upload.dll,如何在ASP.NET页面上添加和配置控件,以及如何编写相应的服务器端和客户端代码来处理文件上传。阅读这份说明书是理解和使用这个控件的关键,...

    ASP.NET相册控件

    ASP.NET相册控件是一种用于Web应用程序的组件,它允许开发者在网页上展示和管理图片集,为用户提供直观、互动的相册体验。这个控件是独立的,意味着它可以独立于其他特定框架或库工作,提供了高度的自定义性和灵活性...

    ASP.NET 导航控件

    ASP.NET是一种基于.NET Framework的服务器端编程模型,用于构建动态Web应用程序。...对于想要提升ASP.NET开发技能,特别是关注用户界面设计和用户体验的开发者来说,这部分学习资源是非常有价值的。

    ASP.NET时间控件

    本文将深入探讨ASP.NET中的时间控件,特别是"好用的ASP.NET控件"——My97DatePicker。 My97DatePicker是一款高度自定义的JavaScript日期选择插件,它可以与ASP.NET无缝集成。这个控件以其美观的界面、灵活的配置...

    asp.net服务器控件高级编程(带源文件)

    例如,通过拖放方式将控件添加到设计视图,然后在代码后面设置其属性,如文本、样式、事件处理程序等。对于事件处理,VB.NET中的事件处理函数通常以"事件名_控件名"的形式命名,如Button1_Click,当用户点击按钮时,...

    Asp.Net服务器端控件

    Web控件是Asp.Net特有的,如`&lt;asp:Button&gt;`,提供了更丰富的功能,如内置的验证和事件处理。自定义控件则允许开发者根据特定需求创建自己的控件。 2. **控件属性** 每个Asp.Net服务器端控件都有多个属性,这些属性...

    自定义asp.net翻页控件

    ASP.NET是一种基于.NET Framework的服务器端网页开发技术,由微软公司提供,用于构建动态网站、Web...通过深入理解ASP.NET控件的原理和机制,开发者可以创建出更加高效、易用的自定义控件,提升开发效率和用户体验。

    ASP.NET日历控件

    在ASP.NET中,日历控件(System.Web.UI.WebControls.Calendar)提供了一个用户友好的界面,用于显示和选择日期。以下是一些关于ASP.NET日历控件的关键知识点: 1. **基本使用**:在ASP.NET页面中,可以通过在HTML...

    asp.net 自定义控件源码

    ASP.NET自定义控件是开发ASP...通过阅读和理解源码,我们可以了解到自定义控件的创建过程,包括继承、属性定义、事件处理、HTML渲染等多个关键环节,这将有助于我们在实际项目中更好地应用和扩展ASP.NET的控件系统。

    一个很好用的asp.net上传控件

    ASP.NET上传控件是网页应用开发中的重要组成部分,它允许用户在服务器端处理大量数据时上传文件。在本文中,我们将深入探讨“一个很好用的ASP.NET上传控件”,了解其特点、使用方法以及如何在项目中集成和操作。 ...

Global site tag (gtag.js) - Google Analytics