Visual studio.net 2003中使用自定义(用户)控件(服务器控件)的方法(原创)
Posted on 2007-01-23 11:22 落花人独立 阅读(776) 评论(0) 编辑 收藏 举报
条件:
1,文件修改:三个文件.
summary.aspx summary.cs SuperGrid.cs
summary.aspx中是用户界面的定义.summary.cs是aspx文件的后台代码.summary负责使用自定义控件SuperGrid.SuperGrid.cs是自定义用户控件的源代码.
(1)在summary.aspx要注意,对于例子程序中的文件中的控件的注册是需要修改的地方.其代码:
2<%@ Register TagPrefix="expo" Namespace="BWSLib" Assembly="SuperGrid" %>
根据自己的应用程序进行相应的修改,这个页面应在自己的应用中重新建立同名的aspx.只修改
为
在用户控件声明的位置的代码
...
>
....
</expo:SuperGrid>
改为TagPrefix的内容"可自己定义",参照上面的改动.
<可自己定义:SuperGrid id="grid" runat="server"
...
>
....
</可自己定义:SuperGrid>
(2)summary.cs文件的修改,要将与自动生成的代码同名的函数的内容从源summary.cs拷贝到codebehind中.不同名的函数,直接拷贝到类中即可.
(3)这一步是最重要的,修改SuperGrid.cs产生用户控件的代码.
要把SuperGrid.cs中的命名空间名命名为你的应用程序的namespace.然后进行编译.代码如下:
2@echo off
3copy SuperGrid.dll c:\inetpub\wwwroot\bin
将以上代码放入一个记事本中存为.bat文件,与SuperGrid.cs放在相同的文件夹下.这个批处理文件的作用就是编译刚才改好的SuperGrid.cs并且把生成的.dll文件放入c:\inetpub\wwwroot\bin中.
your system settings.
2,在你的应用程序中加入SuperGrid.cs文件.在解决方案中右击你的应用程序所在的文件夹"添加现有项",选中SuperGrid.cs.加入以后还要做相应的修改,把刚才修改的namespace改为不与你的命名空间同名的任何一个标识符.
如果命名空间与你的应用程序的命名空间相同的话,就会出现错误:基类包括字段“grid”,但其类型(OfficeSystem.Pmis.Test.SuperGrid)与控件(OfficeSystem.Pmis.Test.SuperGrid)的类型不兼容。
3,添加引用
在解决方案中右击,添加引用,导航到c:\inetpub\wwwroot\bin目录下面,找到SuperGrid.dll加入即可.
4,总结
在使用自定义的用户控件的时候,需要注意的事项就是这些了.对于没有经验的程序员,是需要分步骤来介绍如何使用的.这是我在使用自定义的用户控件的时候遇到了问题,然后把它总结出来.在介绍的时候顺序要注意,特别是(3)和2不可反了,其实就是编译好的dll必须和你应用程序的namespace相同,而应用程序中的cs的namespace必须要和其文件名也就是类名相同.知道这个了,走反了步骤也可以修改的.不过最好是按着步骤一步一步的去做,这样应该不会有问题的.我在使用的时候遇到的问题就是(3),2两个步骤,查了好多的网页都是就事论事,没有一个完整的办法,既然自己做完了,就写出来吧,防着自己以后忘记了,如果有人看到了也可以做一下参考.