Visual studio.net 2003中使用自定义(用户)控件(服务器控件)的方法(原创)
Posted on 2007-01-23 11:22 落花人独立 阅读(784) 评论(0) 收藏 举报
条件:
1,文件修改:三个文件.
summary.aspx summary.cs SuperGrid.cs
summary.aspx中是用户界面的定义.summary.cs是aspx文件的后台代码.summary负责使用自定义控件SuperGrid.SuperGrid.cs是自定义用户控件的源代码.
(1)在summary.aspx要注意,对于例子程序中的文件中的控件的注册是需要修改的地方.其代码:
<%@ Page Language="C#" Inherits="BWSLib.MyPage" Src="Summary.cs" Trace="false" %>2
<%@ Register TagPrefix="expo" Namespace="BWSLib" Assembly="SuperGrid" %>根据自己的应用程序进行相应的修改,这个页面应在自己的应用中重新建立同名的aspx.只修改
<%@ Register TagPrefix="expo" Namespace="BWSLib" Assembly="SuperGrid" %>为
<%@ Register TagPrefix="可自己定义" Namespace="你的应用程序的命名空间" Assembly="SuperGrid(不要动)" %> 在用户控件声明的位置的代码
<expo:SuperGrid id="grid" runat="server"
...
>
....
</expo:SuperGrid>
改为TagPrefix的内容"可自己定义",参照上面的改动.
<可自己定义:SuperGrid id="grid" runat="server"
...
>
....
</可自己定义:SuperGrid>
(2)summary.cs文件的修改,要将与自动生成的代码同名的函数的内容从源summary.cs拷贝到codebehind中.不同名的函数,直接拷贝到类中即可.
(3)这一步是最重要的,修改SuperGrid.cs产生用户控件的代码.
要把SuperGrid.cs中的命名空间名命名为你的应用程序的namespace.然后进行编译.代码如下:
csc /t:library SuperGrid.cs2
@echo off3
copy SuperGrid.dll c:\inetpub\wwwroot\bin将以上代码放入一个记事本中存为.bat文件,与SuperGrid.cs放在相同的文件夹下.这个批处理文件的作用就是编译刚才改好的SuperGrid.cs并且把生成的.dll文件放入c:\inetpub\wwwroot\bin中.
注意:The batch file assumes that the Web server is on disk C. Edit it if this does not match
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两个步骤,查了好多的网页都是就事论事,没有一个完整的办法,既然自己做完了,就写出来吧,防着自己以后忘记了,如果有人看到了也可以做一下参考.
浙公网安备 33010602011771号