随笔-14  评论-106  文章-0  trackbacks-1

我下了很多基于VS2003(以及VS2002)的Asp.netDemo。而我用的是VS2005,我在使用这些Demo时,基本上绝大部分基于VS2003Asp.net工程都因为少数文件无法转换而无法加载工程,我也为些郁闷了好久,后来终于让我找到了解决办法:

Asp.net基于VS2005的工程与以往版本的工程的最大区别就是用分部类(partial)取代了代码隐藏(Codebehind)。

于是我采取的方法是:

1.       用打开网站的方式打开这个工程。这样VS2005也会进行转换,而且也会报错,但与直接打解决方案无法加载不同的是,这一次它展开了网站的所有文件。如果你现在运行工程,也不会成功的。

2.       打开filename.aspx文件到源代码视图,将@Page指令中的属性“Codebehind”改为“CodeFile”,

3.       将与这对应的Codebehind文件filename.aspx.cs,将继承于System.Web.UI.Page的类定义class前加上partial关键字。

4.       运行该工程,它会提示你在filename.aspx中已经包含controlname的定义,跟踪错误到filename.aspx.cs,将那些被指示错误的重复定义删去。

5.       然后重复24步直至所有的文件都改过来,再运行工程应该就可以运行成功了。不过也许会报几个警告说某某已经过时,不用去管它。

 

我用这个方法将那些老顽固(包括2003以及2002的工程)都成功转换了,真的是屡试不爽。这只不过是我自己总结出来的方法,也许有人有更好的办法,如果有更好的方法也请指点。

posted on 2006-08-11 19:18 Nihgwu 阅读(1480) 评论(6)  编辑 收藏

评论:
#1楼 2007-02-14 08:18 | question[未注册用户]
我还是转换不了,按你的方法,打开网站,但不提示转换,里面只有个空项目文件
  回复  引用    
#2楼 2007-04-05 10:51 | 阳光衣裳[未注册用户]
将与这对应的Codebehind文件filename.aspx.cs,将继承于System.Web.UI.Page的类定义class前加上partial关键字。
请问怎么加partial关键字?在哪加的?

  回复  引用    
#3楼 2007-04-16 22:08 | clq[未注册用户]
我的按照你说的还是不行!


  回复  引用    
#4楼 2007-11-21 17:40 | enon1668[未注册用户]
wo 是这么做的 ,但是 他报ASPX里面的控件都找不到了,????
  回复  引用    
#5楼 2007-11-21 17:41 | enon1668[未注册用户]
怎么办???
  回复  引用    
#6楼 2008-08-05 10:24 | 刘鹏111[未注册用户]
不错,很有用。
  回复  引用    



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 474604




相关文章:

相关链接: