.ascx用户控件 

参考系列教程User controls in asp.net - Part 104

用户控件包含了html、代码和其他Web或者用户控件的组合,并在Web服务器上以自己的文件格式保存,其扩展名是*.ascx
用户控件重用相同的代码,从而节省了大量的开发和测试时间。简而言之,用户控制,增加了代码的可重用性,实现封装,减少开发和维护时间。

关于ASPX中各元素含义<%@ Page language="c#" Codebehind="PreDeliver.aspx.cs" AutoEventWireup="false" Inherits="Issue.Pre"%>

    Page 是一个指令,language,Codebehind,AutoEventWireup,Inherits分别是这个指令的属性;
       language="c#" 表示该页面所使用的语言是C#;
       Codebehind="PreDeliver.aspx.cs" 表示该页的后置代码在当前目录下的PreDeliver.aspx.cs文件中;
       AutoEventWireup="false" 表示是否自动地将页面的事件和相应的方法绑定到一起,一般这个什要设为false,因为若设为true有可能两次调用相同的事件代码。
       Inherits="Issue.Pre"表示页面中的控件是在哪个类中定义的。

关于ASCX中各元素含义<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MonthModel.ascx.cs" Inherits="PredicTable.Ascx.MonthModel" %>

  Control是一个指令是指ASCX,其属性相似。

另外一个关于ASHX指一般处理程序。H指HttpHandler。不在此处介绍。

使用方法如下:

1.在你的ASCX文件中写HTML代码,在ASCX.CS文件中写后台逻辑。
  在你要引用ASCX文件的ASPX页面头部加上:<%@ Register TagPrefix=”uc” TagName=”ucSample” Src=”ASCX文件在项目中的相对路径”%>。

  在需要用到ASCX文件的地方加入:<uc:ucSample ID=”uc1″ runat=”server” />。

  或者直接将.ascx直接拖拽到需要的位置,以上代码便会自动生成。

2.

如果你打算在多个Web表单上添加用户控件,而不是在每个Web窗体中包含Register指令。可以在web.config的配置文件中注册一次控件,就可以在多个webform中使用用户控件,而不使用Register指令

<system.web>
<pages>
<controls>
<add src="~/CalendarUserControl.ascx" tagName="CalendarUserControl" tagPrefix="uc1"/>
</controls>
</pages>
</system.web>

  以后你直接在ASCX文件和ASCX.cs文件里改代码就可以了。ASPX里面只要保留最基本的HTML元素就可以了,一个页面可以由多个用户控件(也就是ASCX)组成。在ASCX里面写代码的意义就是可以更灵活开发,而且可以更好的代码复用。你可以开发几个通用的用户控件,就和.net提供的那些控件一样,灵活的放到你用到的各个页面里。而且以后维护的时候只要更改你的一处代码就可以了。

用户控件与webform的异同:
1.设计和实现用户控件与webform类似
2.webform的扩展名为.aspx,以@Page指令开头,可以包含<html>, <head>, 和<body>元素。如:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

3.用户控件以@Control指令开头,不能含有<html>, <head>, 和<body>元素。如:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CalenderUserControl.ascx.cs" Inherits="WebApplication1.CalenderUserControl" %>

最新文章

  1. React学习笔记-7-销毁阶段
  2. ScriptTask读取SharePoint上的Excel
  3. iOS App禁止横屏
  4. DNS压力测试工具dnsperf简介
  5. P1907飞扬的小鸟
  6. Lucene.Net+盘古分词-&gt;开发自己的搜索引擎
  7. 【转】ASP.NET的OnClientClick与OnClick事件【解决了“识别用户在对话框里面选yes或no的问题”】
  8. iOS开发网络篇--NSURLConnection
  9. malloc函数具体解释
  10. C# for循环①护栏长度 ②广场砖面积 ③判断闰年平年
  11. HTML5 总结-SVG-5
  12. 通用mapper的使用
  13. “玲珑杯”ACM比赛 Round #18--最后你还是AK了(搜索+思维)
  14. visual studio 中被遗忘的任务列表和书签
  15. CLion之C++框架篇-优化框架,单元测试(二)
  16. The difference between Spring Tool Suite and Spring IDE
  17. HttpServlet Service方法
  18. Python3基础 list 元组转成列表
  19. DevExpress v18.1新版亮点——ASP.NET篇(一)
  20. Oracle 12c CDB PDB

热门文章

  1. 电脑Bois中usb模式启动热键
  2. 高效的设计可视化UI
  3. css对应中文字的英文名称
  4. 一键部署joomla开源内容管理平台
  5. python3操作mysql数据库表01(封装查询单条、多条数据)
  6. telegraf1.8+influxdb1.6+grafana5.2 环境搭建 结合JMeter3.2
  7. 参考消息 Android 读报
  8. Postgres 9.11 网络地址类型函数和操作符
  9. 编写C#程序,自动将bing首页图片设为壁纸
  10. AE开发关于OnMapReplaced方法的使用原理