.netweb的二次开发注意小问题zhuanti&&xy

近来做了几个小系统是关于web的,其中,我发现了几点是需要注意的,那么二次开发的时候就可以比较好地更改、扩展了。

1、近来做一个小系统,更改数据库的路径(更改文件夹名)调试时候,发现后台代码文件已经全部跟着更改好了,但还是提示原来的路径出错,我检查了一排,发现页面文件中源代码开头有<%@ Page Language="C#" AutoEventWireup="true" Inherits="News" Codebehind="Add.aspx.cs" %>意思是页面后台代码是Add.aspx.cs文件,二次开发中,我一般是复制它(旧文件)的页面全部东西,包括控件,然后就添加一个按钮,双击看源代码,这样,新页面指向就是新的后台代码页了,然后我再看新页面的源码,修改下<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Add.aspx.cs" Inherits="AddNews" %>,红色代码就是需要修改的地方,可能原来的开发者用其他的开发工具,我在他原来的页面文件上添加个按钮双击,发觉后台源码是不能修改该的,所以只有用这方法了,功能也不缺失。呵呵。而且可以做好扩展。注:我是用vs2005做的。这样,问题就解决了。

2、注册控件,有些开发者的注册控件如果你不知道如何注册,正常来说是在工具栏添加该控件,然后直接拖到页面上用,例如编辑器,如果常规注册不行,那么你可以看需要该控件的aspx页面的代码,一般旧的开发工具,页面上有注册信息代码:

<%@ Register TagPrefix="CE" Namespace="CuteEditor" Assembly="CuteEditor" %>,你把该句也添加到你新开发的页面上,那么,编辑器就不会提示错误了。哈哈。又成功。

3、如果发现数据库中的字段不能修改,或者修改后出错,那么就要认真检查是那里错了,例如:原来class_id为自动增长类型,则你改成数字类型也可以的。那么你可以修改了。

4、二次开发的时候,可能你移植一些比较成熟的功能模块到新系统,然后要并入页面中,最好是理清楚数据库,改好数据连接字段或文件,移植到所有数据表在同一个数据库中就好,如果多个数据库,则打开时候,可能会引起错误哦。尽量避免多个数据库,速度也快些。

5、如果做二次开发中的扩展,做dgxe开发中,我有一个小经验是扩展SinaEditor_ASP版的上传附件功能的。我将写下来,发布在asp版块中,敬请指点.

6、091123要上交站点文件了,源文件cs不泄露就交aspx文件可以了。所以要用发布网站的步骤,我们很简单选好发布的站点放在那里,(发布位置有iis和文件系统ftp等可以选的)我一般就选iis中之前设置好的一个站点内如:lingshan_zhuanti(当然端口要不同否则生成不了)运行。然后生成就一般ok了。哈哈问题来了,生成的aspx文件首页可以,但访问站点内的连接页就出问题了,如ztView.aspx就出错了。我百思不得其解。编译后生成的aspx文件架设为站点访问情况是:编译错误  类型mdEngergy.ztView 同时在xxx和yyy 两个dll中,后来我请教猛男坚哥和猛人小西,等到一个解决方法:首先观察mdEngergy.ztView在那里使用 “ <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ztView.aspx.cs" Inherits="mdEngergy.ztView" %>”然后看cs文件发现

using System.Data.OleDb;下有

“namespace mdEngergy
{ ”然后才是内核代码 ,  感觉好奇怪,为什么我的其他页面不是这样呢?我改啊改,改动好多尝试,终于发现有个警告提示:警告  类型mdEngergy.ztView 同时在xxx和yyy 两个dll中,但系统选择了用yyy的定义。哦。我有了眉目了,就是像坚说的:“你两个DLL 使用了同一类型定义,  .NET 不知道究竟用哪一个”我想:只要指定就ok了。所以改动如下:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ztView.aspx.cs" Inherits="ztView" %>”中不要mdEngergy.然后编译一定不通过,然后在对应的cs文件中 namespace mdEngergy不要,直接就是ztView的文件内核了。也就是把壳脱掉了。编译,通过,测试,一切ok。这时候,就连警告也不见了,就这样就解决了。好好写下来先。呵呵,也不知道人家原来是如何写的,我就用vs2005的习惯搞掂了。

原文地址:https://www.cnblogs.com/pyman/p/1598781.html