asp.net 程序上传到导服务器发生异常

來源:互聯網  2009-11-10 14:56:06  評論

分類: 電腦/網絡 >> 程序設計 >> 其他編程語言

問題描述:

这是一个由.net2003下写的网站,在IIS中配制asp.net 1.1下测试通过。

可是在asp.net 2.0下出现异常,在所有有翻页的页面中都只显示一条,比如留言板和论坛本来是5页每页10条,变成了5页每页显示第一条。

希望遇到过此问题的朋友给与解答,高分奉上。

參考答案:

因为不清楚你的程序结构所以不好做出评判,下面是从1.1到2.0经常碰到的问题,你自己看看能否解决你的异常。

1.Global.asax文件

该处理形式不一样,转化后将出现错误,在vs2003中Global.asax具有代码后置文件。2.0下, 将代码分离文件移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。“Code-behind”属性将从 ASAX 文件的指令中删除。vs2005则直接把代码写在Global.asax,所以需要删除转化过来的文件重新加入,并把相应的代码复制过来。

2.2.0没有了项目文件

在 1.1 应用程序中,项目文件包含生成设置、对外部程序集的引用以及项目中的文件列表。而在 2.0 应用程序中,不再需要版本设置和文件列表,因为 Web 项目目录下的所有文件都被视为 Web 项目的一部分。

3.代码分离模式

在 ASP.NET 1.1 中,代码分离模式使内容(例如 index.aspx)与代码(例如 index.aspx.cs)分离。内容页面从代码分离页面继承而来,代码分离页面包含用户和设计器生成的代码。

ASP.NET 2.0 通过使用局部类来增强代码分离模式,使用 partial 关键字可以将单个类的代码分隔到两个独立的文件中。它允许一个类跨越多个文件。在新的代码分离模式中,内容页面从编译的类继承而来,它由相应的代码分离页面以及自动生成的存根文件组成,存根文件用于为内容页面中使用的控件定义字段声明。此项更改使自动生成的代码与用户的代码分离,并且使代码分离页面显著变小且更加简洁。局部类结构还降低了由于编辑设计器生成的代码而不小心破坏页面的风险。

如果出错请检查是否有partial 关键字,否则添加 partial 关键字。

4.语法检查

ASP.NET 1.1程序,编译时不会检查aspx、aspcx等文件中的语法错误,而VS2005编译时会检查项目中所有的aspx、aspcx等文件中的语法,所以如果有语法错误,会导致编译无法通过。

5.控件声明

如果在 .aspx 页面上声明了所有控件,则从代码分离文件中删除所有控件声明,否则报错:重复定义。

6.仅限于C#

将事件挂钩代码从代码分离文件的 InitialzeComponent 函数移到 .aspx 页面中。请注意,此操作不适用于自动调用的事件,包括 Page_Init、Page_Load、Page_DataBind、Page_PreRender、Page_Unload、Page_Error、Page_AbortTransaction 和 Page_CommitTransaction。

7. 部署方式(预编译、完整编译、可更新站点等)

在 1.x 中,Web 应用程序是作为一个大型程序集而预编译和部署的。内容页面(*.aspx)不在服务器上编译,但可以在服务器上编辑。借助新的页面编译模式和目录结构,您就可以使用多种不同的配置来部署 ASP.NET 2.0 应用程序。一种情况,您可以预编译所有的 ASPX 页面并部署由完全编译好的程序集组成的 Web 应用程序。在这种模式下,您不能在服务器上轻松地更改该应用程序。另一种情况,您可以在不预编译任何代码的情况下部署应用程序。在这种配置下,您可以直接在服务器上更改该应用程序中的 .aspx 页面、代码分离文件或其他任何代码。当用户请求服务器上的页面时,页面将被动态编译。

8.将 .aspx 页面中的所有 CodeBehind 属性更改为 CodeFile 属性

CodeBehind: 指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。

提供此属性是为了与以前版本的 ASP.NET 的兼容,以实现代码隐藏功能。在 ASP.NET 2.0 版中,应改用 CodeFile 属性指定该源文件的名称,同时使用 Inherits 属性指定该类的完全限定名称。

CodeFile 指定指向页引用的代码隐藏文件的路径。此属性与 Inherits 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。

9.将所有独立的代码文件和AssemblyInfo.cs都被移到 App_Code 目录下

但运行转换向导之后,可能会发现某些代码分离文件(例如,*.aspx.cs 或 *.ascx.vb)被移到 App_Code 目录下。这表明代码分离文件的内容页面含有格式不正确的 Codebehind 指令,并且没有进行正确设置。也就是说,转换向导不能确定该代码分离文件是否实际绑定到某个特定的 .aspx 页面。

10.Web 服务

在 ASP.NET 1.x 中,Web 服务(.asmx)自动拆分到空白标题页面(.asmx)和包含实际方法的代码分离文件中。

在ASP.NET 2.0下:

• 将代码分离类移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。

• 更改 .asmx 文件中的 CodeBehind 属性,以便指向新位置。

(请注意,代码分离文件不使用局部类,因此继续使用 CodeBehind 属性。)

• 将所有的默认、Friend 和 Internal 范围的声明更改为 Public。

[b]分类:[/b] 电脑/网络 >> 程序设计 >> 其他编程语言[br][b]问题描述:[/b][br]这是一个由.net2003下写的网站,在IIS中配制asp.net 1.1下测试通过。

可是在asp.net 2.0下出现异常,在所有有翻页的页面中都只显示一条,比如留言板和论坛本来是5页每页10条,变成了5页每页显示第一条。

希望遇到过此问题的朋友给与解答,高分奉上。[br][b]参考答案:[/b][br]因为不清楚你的程序结构所以不好做出评判,下面是从1.1到2.0经常碰到的问题,你自己看看能否解决你的异常。

1.Global.asax文件

该处理形式不一样,转化后将出现错误,在vs2003中Global.asax具有代码后置文件。2.0下, 将代码分离文件移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。“Code-behind”属性将从 ASAX 文件的指令中删除。vs2005则直接把代码写在Global.asax,所以需要删除转化过来的文件重新加入,并把相应的代码复制过来。

2.2.0没有了项目文件

在 1.1 应用程序中,项目文件包含生成设置、对外部程序集的引用以及项目中的文件列表。而在 2.0 应用程序中,不再需要版本设置和文件列表,因为 Web 项目目录下的所有文件都被视为 Web 项目的一部分。

3.代码分离模式

在 ASP.NET 1.1 中,代码分离模式使内容(例如 index.aspx)与代码(例如 index.aspx.cs)分离。内容页面从代码分离页面继承而来,代码分离页面包含用户和设计器生成的代码。

ASP.NET 2.0 通过使用局部类来增强代码分离模式,使用 partial 关键字可以将单个类的代码分隔到两个独立的文件中。它允许一个类跨越多个文件。在新的代码分离模式中,内容页面从编译的类继承而来,它由相应的代码分离页面以及自动生成的存根文件组成,存根文件用于为内容页面中使用的控件定义字段声明。此项更改使自动生成的代码与用户的代码分离,并且使代码分离页面显著变小且更加简洁。局部类结构还降低了由于编辑设计器生成的代码而不小心破坏页面的风险。

如果出错请检查是否有partial 关键字,否则添加 partial 关键字。

4.语法检查

ASP.NET 1.1程序,编译时不会检查aspx、aspcx等文件中的语法错误,而VS2005编译时会检查项目中所有的aspx、aspcx等文件中的语法,所以如果有语法错误,会导致编译无法通过。

5.控件声明

如果在 .aspx 页面上声明了所有控件,则从代码分离文件中删除所有控件声明,否则报错:重复定义。

6.仅限于C#

将事件挂钩代码从代码分离文件的 InitialzeComponent 函数移到 .aspx 页面中。请注意,此操作不适用于自动调用的事件,包括 Page_Init、Page_Load、Page_DataBind、Page_PreRender、Page_Unload、Page_Error、Page_AbortTransaction 和 Page_CommitTransaction。

7. 部署方式(预编译、完整编译、可更新站点等)

在 1.x 中,Web 应用程序是作为一个大型程序集而预编译和部署的。内容页面(*.aspx)不在服务器上编译,但可以在服务器上编辑。借助新的页面编译模式和目录结构,您就可以使用多种不同的配置来部署 ASP.NET 2.0 应用程序。一种情况,您可以预编译所有的 ASPX 页面并部署由完全编译好的程序集组成的 Web 应用程序。在这种模式下,您不能在服务器上轻松地更改该应用程序。另一种情况,您可以在不预编译任何代码的情况下部署应用程序。在这种配置下,您可以直接在服务器上更改该应用程序中的 .aspx 页面、代码分离文件或其他任何代码。当用户请求服务器上的页面时,页面将被动态编译。

8.将 .aspx 页面中的所有 CodeBehind 属性更改为 CodeFile 属性

CodeBehind: 指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。

提供此属性是为了与以前版本的 ASP.NET 的兼容,以实现代码隐藏功能。在 ASP.NET 2.0 版中,应改用 CodeFile 属性指定该源文件的名称,同时使用 Inherits 属性指定该类的完全限定名称。

CodeFile 指定指向页引用的代码隐藏文件的路径。此属性与 Inherits 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。

9.将所有独立的代码文件和AssemblyInfo.cs都被移到 App_Code 目录下

但运行转换向导之后,可能会发现某些代码分离文件(例如,*.aspx.cs 或 *.ascx.vb)被移到 App_Code 目录下。这表明代码分离文件的内容页面含有格式不正确的 Codebehind 指令,并且没有进行正确设置。也就是说,转换向导不能确定该代码分离文件是否实际绑定到某个特定的 .aspx 页面。

10.Web 服务

在 ASP.NET 1.x 中,Web 服务(.asmx)自动拆分到空白标题页面(.asmx)和包含实际方法的代码分离文件中。

在ASP.NET 2.0下:

• 将代码分离类移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。

• 更改 .asmx 文件中的 CodeBehind 属性,以便指向新位置。

(请注意,代码分离文件不使用局部类,因此继续使用 CodeBehind 属性。)

• 将所有的默认、Friend 和 Internal 范围的声明更改为 Public。

cs程序上传文件至web服务器,asp.net 程序上传到导服务器发生异常相关推荐

  1. 微信里文件小程序导不出来_懒得打开电脑传文件?这四类小程序把这事解决了-小程序视频怎么发在电脑上...

    在<小程序说·能力百科全书>前两期中,我们说到了小程序的"蓝牙能力".弱网环境下,它是篮球场上力挽狂澜的"第六人":出行场景中,它还能化身你的&qu ...

  2. 计算机网络 文件传输小程序代码,懒得打开电脑传文件?这四类小程序把这事解决了...

    生命在于静止,主持人吴昕这句火爆的口头禅,诠释了当代人对于"懒"的追求. 懒得出门吃饭,有外卖:懒得下载应用,有小程序... 在办公场景下,更是要"懒"到底,不 ...

  3. LayUI upload上传组件上传文件的两种方式(手动上传、自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  4. Xftp 传文件到虚拟机一直显示状态错误,传不进去

    Xftp 传文件到虚拟机一直显示状态错误,传不进去 环境:VMware.Ubuntu18.04 1.起因 用Xshell连接了虚拟机,想用Xftp从本地Windows环境传文件到虚拟机的Ubuntu中 ...

  5. android和ios传文件怎么打开方式,安卓怎么给iPhone传文件?文件互传教程

    大家使用手机的时候肯定都会用到蓝牙或者互传文件功能,安卓和安卓手机直接传文件非常简单方便,那么安卓怎么给iPhone传文件呢?小编下面就给大家带来安卓和iPhone文件互传教程. 说道文件互传,大家肯 ...

  6. 如何删除tmp计算机桌面,桌面上的文件删不掉_我桌面上突然多了一个tmp结尾的文件桌面删除都删除......

    桌面上的文件 删不掉怎么办 为什么桌面上有些文件删不掉 我电脑桌面上有个文件夹,删除不掉怎么办? 我的电脑桌面上文件夹删不掉 解决我的电脑桌面上文件夹删不掉的步骤如下: 1.首先在我们的电脑桌面上找到 ...

  7. 上传文件到 Web 服务器

    为什么80%的码农都做不了架构师?>>>    最近做运营后台需要把数据挖掘系统导出的数据上传到 Web 服务器,再导入到 DB 中.前端实现文件上传时方法如下: <html& ...

  8. java怎么上传文件到web服务器_Java客户端通过Http发送POST请求上传文件到web服务器...

    http://www.cnblogs.com/WilliamJiang/archive/2012/04/29/2475883.html 1.朋友的一个需求,让我给他实现,需求是这样的,需要用ASP.n ...

  9. Android上传文件到Web服务器,PHP接收文件(一)

    Android上传文件到服务器,通常采用构造http协议的方法,模拟网页POST方法传输文件,服务器端可以采用JavaServlet或者PHP来接收要传输的文件.使用JavaServlet来接收文件的 ...

最新文章

  1. eclipse java调用c 代码吗_linux下通过eclipse开发用java调用c程序的方法
  2. 【1024程序员节】都有什么?现场亲历者告诉你...
  3. Py之matplotlib:python包之matplotlib库图表绘制包的简介、安装、使用方法(matplotlib颜色大全)详细攻略
  4. 解决 /usr/share/git-cola/bin/ssh-askpass: 3: exec: wish: not found
  5. Python模块:日志输出—logging模块
  6. API设计原则 - Qt官网的设计实践总结
  7. synology smb_用于在Synology NAS上测试Spring Boot Web应用程序的JUnit模拟文件
  8. Android 事件处理
  9. 谷歌悄悄修复4个 0day
  10. shell遍历根目录_大厂运维高手如何打造核心竞争力?这些Shell命令合集得知道!...
  11. 51nod1174--区间中最大的数--线段树
  12. VS2013的C# Winform怎么添加Windows Media Player控件 详细图解 代码示例及运行效果
  13. 单片机c语言*乘法,单片机c语言教程:运算符和表达式(位运算符)
  14. How DICK’S moved its software development in-house and aced omnichannel retail
  15. vue3使用swiper+animate.css动效
  16. 经验模式分解(EMD)——简介及Matlab工具箱安装
  17. 牛客错题集C++(一)
  18. Collaborative Spatiotemporal Feature Learning for Video Action Recognition 论文笔记
  19. 2、bq Evaluation Software电流监测工具使用说明
  20. 2.商场促销 - 策略模式 (大话设计模式Kotlin版)

热门文章

  1. 10个超漂亮的CSS 3D特效
  2. 赛尔号7月17日服务器维护,赛尔号07月17日更新攻略汇总 环城之光圣芒降临
  3. 中大 华科 计算机学院,中国进步“最快”的13所大学,国科大、中大、电子科大、华科升级...
  4. U盘拷贝大文件提示文件过大无法拷贝解决方案
  5. 【夯实基础--CSS】=> 高级技巧(雪碧图/滑动门/CSS三角形/字体图标(iconfont)等)
  6. 什么是数据产品经理?数据产品经理与传统产品经理有什么区别?
  7. 什么是Armbian
  8. 在CubieTruck上安装TF卡版的armbian
  9. vue移动端用什么数据可视化插件_vue框架大屏可视化
  10. sql如何查看数据库表的关联关系?