.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" %>

关于.ascx的更多相关文章

  1. .net 用户控件ascx.cs注册js脚本代码无效果

    在.net web项目中碰到一个比较奇怪的问题,网上没找到解决方案,先自己mark一下 问题描述: 添加一个用户控件ascx,在后端.cs添加js注册脚本,执行后没有弹出框 注册脚本为: this.P ...

  2. Day Tip:SharePoint 2013 *.ascx.g.cs文件

    在开发SharePoint2013的WebPart时,会产生一个*.ascx.g.cs文件.如果用TFS管理源代码经常遇到这个文件丢失.这让人很困扰,如果丢失了请在如下图中添加如下代码:       ...

  3. sharepoint 2013 文件“/_controltemplates/SPMRB/AllStatBookingsForm.ascx”不存在

    现象: 文件“/_controltemplates/SPMRB/AllStatBookingsForm.ascx”不存在. 分析: 此代码在sp2010好用,但是在sp2013则报以上错误. 解决办法 ...

  4. .ascx.g.cs文件不能生成 The name ‘InitializeControl’ does not exist in the current context - Visual Web part Sharepoint

    InitializeControl doesn't exsit When using visual studio 2012 for developing SharePoint 2013 Visual ...

  5. 在ascx中调用另一个ascx的写法

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  6. ascx aspx ashx asmx 文件的作用

    ascx aspx ashx asmx 文件的作用 ascx: Ascx 是给予Web的用户控件(UserControl),一般是用来重用的,不能直接被访问只能插入aspx页面呈现.头部文件<% ...

  7. aspx与ascx,ashx的用法详细的总结介绍

    这篇文章主要是对aspx与ascx,ashx的用法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 做asp.net开发的对.aspx,.ascx和.ashx都不会陌生.关于它们,网 ...

  8. 对于top.ascx里面可以不可以放置css的文件进行一个讲解

    今天遇到一个这样的问题就是把网站上面的flash做的导航栏和图片动画替换成html+css的代码,然而asp.net里面的页面又是xx.ascx的文件夹,当时我就晕了不知道改如何去下手,我就把里面的c ...

  9. aspx,ascx和ashx使用小结

    做asp.net开发的对.aspx,.ascx和.ashx都不会陌生.关于它们,网上有很多文章介绍.“纸上得来终觉浅,绝知此事要躬行”,下面自己总结一下做个笔记.1..aspxWeb窗体设计页面.We ...

  10. Asp.net中用户自定义控件 ascx的使用

    使用ascx目的就是为了提高某部分功能的重复利用,我简单通过源代码说一下对它的参数的输入和数出. 我们以省市区三级连动为例子. vs2005下ascx页面的代码: <table width=&q ...

随机推荐

  1. SpringBoot热部署的两种方式

    SpringBoot热部署方式一共有两种,分别使用两种不同的依赖 SpringBoot 1.3后才拥有SpringBoot devtools热部署 ①:spring-boot-devtools   ② ...

  2. Ubuntu 16.04 server版本开机启动脚本不支持

    Ubuntu16.04开机启动的脚本一直不支持,错误用在将开机启动脚本放到了home/usr/的目录下,应该放到/root才能正常启动.#!/bin/sh -e ## rc.local## This ...

  3. Volley解析(一)--Volley的使用

    Volley解析(一)--Volley的使用 Volley 是一个HTTP协议的网络请求框架 Volley的优势: 自动安排网络请求 支持多个并发网络连接 具有标准HTTP缓存一致性的透明磁盘和内存响 ...

  4. nmap -sT

    将与目标端口进行三次握手,尝试建立连接,如果连接成功,则端口开放,慢,且会被目录主机记录

  5. allure使用简介

    #安装依赖包pip install requests_toolbeltpip install pyyamlpip install pytest-allure-adaptor #安装allure2 说明 ...

  6. Protocol Buffer学习教程之开篇概述(一)

    1. Protocol Buffer是什么 Protocol Buffer是google旗下的产品,用于序列化与反序列化数据结构,但是比xml更小.更快.更简单,而且能跨语言.跨平台.你可以把你的数据 ...

  7. Mysql的介绍和安装注意

    1.Mysql所属公司:Oracle 2.数据库类型:关系型数据库 3.开发语言:C++ 4.版本:企业收费版和社区免费版 5.搭建Mysql环境 点击下一步直到遇到选择数据库编码的时候选择utf-8 ...

  8. SDUT 1309 不老的传说问题 (区间DP)

    题意: 有一个环形序列,n个数字表示一种颜色,要求将白板环刷成一模一样的环,限制是每次最多只能刷连续的K个位置,问最少需要刷几次? 思路: 跟2008长春那道painter string 差不多.只是 ...

  9. 删除表中一个字段的SQL语句

    1.删除没有默认值的列:alter table Test drop COLUMN BazaarType 2.删除有默认值的列:先删除约束(默认值)alter table Test DROP CONST ...

  10. Spark性能调优之道——解决Spark数据倾斜(Data Skew)的N种姿势

    原文:http://blog.csdn.net/tanglizhe1105/article/details/51050974 背景 很多使用Spark的朋友很想知道rdd里的元素是怎么存储的,它们占用 ...