易截截图软件、单文件、免安装、纯绿色、仅160KB

设置自定义ASP.NET服务器控件TagPrefix的几种方法


方法一、在Web.config中配置,具体做法为:在Web.config文件的System.web节中添加如下代码
1<pages>
2 <controls>
3 <add assembly="ServerControl" namespace="ServerControl" tagPrefix="sc"/>
4 </controls>
5</pages>
说明:assembly表示控件所在的程序集名称,namespace表示控件的命名空间,tagPrefix就是我们所要设置的项了
方法二、在使用该控件的页面添加<%Register%>指令,如下
<%@ Register assembly="ServerControl" namespace="ServerControl" tagprefix="sc" %>
说明:assembly表示控件所在的程序集名称,namespace表示控件的命名空间,tagPrefix就是我们所要设置的项了
方法三、通过装饰Attribute来指定tagPrefix,例如在控件类添加如下Attribute
[assembly: TagPrefix("ServerControl", "scsc")]
namespace ServerControl
{
[ToolboxData("<{0}:EmailInput runat=server></{0}:EmailInput>")]
public class EmailInput : CompositeControl
{
说明:即使这样定义了,每个页面也都要添加<%Register%>指令,这样只是提供了统一的tagPrefix,实质上还是第二种方法
方法四、在控件项目中添加属性文件"Assembly.cs"中添加如下代码来自定义控件的前缀:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Web.UI;
[assembly: TagPrefix("ServerControl","scsc")]
说明:即使这样定义了,每个页面也都要添加<%Register%>指令,这样只是提供了统一的tagPrefix,实质上还是第二种方法
最后对上面的四种方法进行说明:
在Web.config中进行自定义是属于应用程序级别的定义,只注册一次即可对整个应用程序有效。其他三种方法都得在引用该控件的页面添加<%Register%>指令
asp.net定义tagPrefix的检测顺序是:assemblyInfo.cs---->控件中的attribute装饰----->webconfig中的配置,也就是说,如果这几种方法您都设置了,那么asp.net 将会采用webconfig的设置方式!相信这也是asp.net覆盖的简单道理了!
asp.net的自带控件采用了第一种方法,即在 web.config中进行了配置,将tagPrefix配置成了asp,如果您看着不爽,可以改掉它。


相关文档:

asp.net学习路线图

ASP.NET学习路线图
 
如果你已经有较多的面向对象开发经验,跳过以下这两步:
第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去!
第二步 对.NET Framework类库有一定的了解 可以通过开发W ......

ASP.NET页面运行机制以及请求处理流程

IIS自身是不能处理像ASPX扩展名这样的页面,只能直接请求像HTML这样的静态文件,之所以能处理ASPX这样扩展名的页面,是因为IIS有一个ISAPI过滤器,它是一个COM组件。ASP.NET服务在注册到IIS的时候,就会添加一个Win32的扩展动态库aspnet_isapi.dll。并将扩展可以处理的页面扩展名(如ASPX)注册到IIS里面。扩展启动后,就根 ......

ASP.NET页生命周期概述

ASP.NET页生命周期的定义,有以下8个方面:页请求,开始,页初始化,页加载,验证,回发事件,呈现,卸载。
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页的生命周期非常重要,这样就能在合适 ......

asp.net中用table表格绑定数据

其实在asp.net中用table表格绑定数据,并不要像在asp中那么麻烦,那么难理解,也不要用什么循环语句来一项项的读取数据,然后填充表格.asp.net中有一个叫做Repeater的控件,我们可以直接把表格嵌入到Repeater控件中,然后设置Repeate控件的DataSource属性并让其DataBind()就OK了......
做一个测试:
我创建的SQL数据库如下: ......

silverlight 融合ASP.NET MVC 例子


using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Sha ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号