编写自定义控件(一)

  
首先是要新建一个自定义控件。
自定义控件继承了 System.Web.UI.Control和System.Web.UI.WebControls 前者是不提供UI界面的类。
首先应该新建一个空白解决方案adaiWebCtrl,然后在解决方案里面新建两个项目。/**************在这里碰到了一个小问题,我在一个解决方案里面无法新建两个项目。经过询问,知道是自己的VS设置得问题,我将VS的设置更改为“常规开发设置” 在工具 è导入到处设置 è…Next… è常规开发设置******************/项目一:命名为adaiCtrl的web应用程序;项目二:命名为TableList的web控件库。对于TableList自动生成的文件,有一个默认命名,但是我们一般都不喜欢这个默认的名字,所以我们可以把他改一下。/***************后面会给你解决改动后出现问题的方法******************/
新建项目后需要设置启动项目和依赖项目,右键点击解决方案可以设置。将adaiCtrl项目设置为启动项目;将TableList设置为adaiCtrl的依赖项目/*************也就是说adaiCtrl依赖于TableList项目*******************/。这两个项目设置成如此关系,在调试时adaiCtrl可以显示出TableList的效果了。当然这还需要在adaCtrl中注册这个控件,首先好像是要往adaiCtrl中添加TableList的引用/*************简单的复制是不行的,最起码他不会自动更新***************/
有了这些,下面我们似乎是应该把控件添加到web页面了。呵呵,向页面添加如下代码:
<% @ Register TagPrefix="adaiWebCtrl" TagName="TableList"Namespace="adaiWebCtrl" Assembly="TableList" %>  
这行代码是向页面注册你所编写的控件,其 中TagPrefix ="adaiWebCtrl"是表示你的控件的前缀名是 adaiWebCtrl,就想用一般控件时代码中会有: <asp:这个东西一样。然后呢就是 Namespase 也就是命名控件,这个命名空间是和你的TableList项目中的AssemblyInfo.cs文件中的NameSpace对应的。/****************同时AssemBlyInfo.cs中的内容可以在 项目 è 属性中做设置,但是有时候,属性中的东西和Assembliinfo.cs中的东西并不是对应的,这就需要你手动的更改一下了,辛苦了,hehe***************/最后是Assembly 也就是程序集名,它的填写和设置和前面的Namespace一样。这里还有一个 TagNameSrc标签,他们两个好像是在做用户控件是用到的。当然了,如果每个页面都要使用这个控件,我们就要杂每个页面使用 register语句。似乎颇为麻烦,呵呵。哪我们就把它转移到web.config中去把,在 < system.web ></ system.web > 节中添加如下代码:就可以不用每个页面都添加register语句了。
    < pages >
      <!-- 注册控件 -->
      < controls >
        < add tagPrefix = "adaiWebCtrl"namespace="adaiWebCtrl"assembly="TableList" />
      </ controls >
    </ pages >
      
2008年4月14日13:41:58
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值