在WEB开发中,可重用的代码我们可以把它写成一个通用模块供需要的地方来引用。本文就是介绍在ASP.NET的web编程时,如何在用户控件中添加属性,实现这种方法;举例说明详解。

在WEB开发中经常有一些代码是在很多地方重复出现的,象导航栏、用户登录/注册和首页上面的一些固定栏目等。这些可重用的代码我们可以把它写成一个通用模块供需要的地方来引用,这样做即节省了开发时间还方便以后的维护。

在ASP.NET的web编程中提供了一种叫做“用户控件”可以帮助我们完成这种做法,其文件扩展名是“.ascx”,由于ascx文件是用来插入ASPX页面中使用的,而一个ASPX窗体只能包含一个<form>标志,所以ascx用户控件不能包含<form></form>标志。

下面使用一个经典入门范例来创建一个简单的用户控件,文件名为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的语句。

以上的演示代码没有给控件添加属性,下面我们举一个用户登录的文件,把它写成用户控件,在向其中添加UserName和PassWord这两个属性。向用户控件添加属性很简单,只要在ascx文件中的<script></script>块中定义就行了。

            

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.ascx文件添加了UserName和PassWord这两个属性了,以下DEMO演示如何在ASPX页面上引用这两个属性。

            

UserLogin.aspx

<%@Register TagPrefix=”wen”

TagName=”UserLoginContorl” src=” UserLogin.ascx” %>

<html>

<title>引用属性</title>

<body>

<form runat=”server”>

<wen: UserLogin.ascxID=”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>

ASP.NET开发:在用户控件中添加属性相关推荐

  1. Asp.net 2.0 自定义控件开发专题讲解[为用户控件增加DataSource属性, 能够自动识别不同数据源](示例代码下载)...

    (一).  概要 开发<数据绑定用户控件>, 要实现一个DataSource属性, 并且能够自动识别不同的数据源, 如: ArrayList, DataTable, DataSet, XM ...

  2. 关于从页面中获取用户控件中的其它控件(如DropDownList)事件的方法

    在项目中经常把一些经常使用的代码做成用户控件以提高代码的可重用性, 一个经常遇到的就是在页面中调用用户控件中的服务器控件的事件,下面给出简单的代码示列. 我们在一个用户控件(MaterialRepor ...

  3. 用户控件中使用相对路径问题

    在用户控件中使用相对路径,会因为引用控件的页面的不同路径而产生问题.在用户控件里最好使用以站点根目录开始指定相对路径,比如你的asp.net应用程序名为:myapp,你的图片是 myapp/myima ...

  4. 用户控件中动态加入脚本引用

    用户控件中动态加入脚本引用,添加前先判断是否已经有引用,没有才添加. //××××.ascx protected void Page_Load(object sender, EventArgs e){ ...

  5. 在用户控件中用户登录后台脚本判断

    在用户控件中用户登录后台脚本判断写法  if (!IsPostBack)         {                         imagelogin.Attributes.Add(&qu ...

  6. WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性

    原文:WPF 使用依赖属性(DependencyProperty) 定义用户控件中的Image Source属性 如果你要自定义一个图片按钮控件,那么如何在主窗体绑定这个控件上图片的Source呢? ...

  7. 如何在Web用户控件中引用样式表中的样式

    如何在Web用户控件中引用样式表中的样式 <%@ Control Language="C#" AutoEventWireup="true" CodeFil ...

  8. 解决在ascx使用outputcache就不可以设置用户控件自己的属性

    解决在ascx使用outputcache就不可以设置用户控件自己的属性 转载至:http://www.aspnetpro.com/NewsletterArticle/2003/08/asp200308 ...

  9. JS获取用户控件中的子控件Id

    用户控件 <asp:HiddenField ID="hfGradeId" runat="server" /> <asp:HiddenField ...

最新文章

  1. nginx配置websocket负载均衡
  2. 【成都站参会指南】神策 2020 数据驱动用户大会,邀您面基!
  3. python 分离整数与小数_Python编程:离不开算术运算符的顺序结构
  4. python 进程编程速成
  5. 支付宝小程序升级,一统阿里大生态!
  6. linux命令kill_什么是Linux中的kill命令?
  7. 500 lines or less_EXCL公式入门——AND和OR
  8. 三相全控tc787触发电路_单相逆变三相交流电源怎么办?变频器的三相交
  9. 电商详情页的一般实现
  10. springBean生命周期
  11. 403 Forbidden - PUT https://registry.npmjs.org/- Forbidden
  12. 崩坏3服务器维护2月8号,崩坏3影骑士月轮将在2月8日更新后正式登场
  13. 贪吃蛇的纯C语言实现过程
  14. 一文读懂Java内存模型(JMM)及volatile关键字
  15. java swing组件_Java -- Swing 组件使用
  16. 233网校java,二级计算机重点
  17. 大龄80后我们何时告别单身?_转
  18. 加入阿里15年,口碑仍在“流浪”
  19. (Les17 移动数据)expdp/impdp
  20. 网卡驱动描述符助手功能浅析

热门文章

  1. 位掩码(bitmask)在windows 串口事件驱动中的应用
  2. 重庆计算机学校电话号码,重庆计算机学校
  3. 如何在VMware中安装Linux系统(带界面)~新手向
  4. Debug Pytorch: ValueError: Expected more than 1 value per channel when training, got input size tor
  5. Debug Docker: Error response from daemon: dial unix docker.raw.sock: connect: connection refused
  6. 自制操作系统学习笔记(2)-汇编程序体验
  7. python3精要(57)-all,any,bin(转换二进制)
  8. 【Python】有趣且鲜为人知的 Python 特性,火了!
  9. 那些数学不好的程序员?最后都如何了(文末送书)
  10. 【深度学习】一文看懂 (Transfer Learning)迁移学习(pytorch实现)