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