关闭

asp.net 关于CodeFile和CodeBehind

标签: asp.net
202人阅读 评论(0) 收藏 举报
分类:
搞不清楚这两个的区别,特地百度了一下。下面这篇挺好就转来了,谢谢原作者.
另外根据我的实验当创建项目时指定Web Site时,添加webform会默认在代码中使用CodeFile。而创建项目时指定Web Application时,添加webform会默认在代码中使用CodeBehind。而创建的项目是Web Site时使用vs发布网站,指定属性是使用单页程序集的话,页头的配置属性会被动态修改,去掉CodeFile属性,并制定程序集的友好名。例如会转换为为如下形式:
<%@ page language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="_Default, App_Web_default.aspx.cdcab7d2" title="无标题页" %>
App_Web_default.aspx.cdcab7d2.dll为vs自动编译出来的程序集,放在bin目录下。
下面是文章原文:
今天同事在把一个Web项目从 Web Site 升级成 Web Application 应用后部署的时候,报错:
Server Error in '/' Application.
--------------------------------------------------------------------------------
Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 
Parser Error Message: The file '/index.aspx.cs' does not exist.
Source Error: 
Line 1:  <%@ Page Language="C#" AutoEventWireup="true" CodeFile ="index.aspx.cs" Inherits="Community.IndexHomePage.index" %>
Line 2: 
原因就是不知道为啥,采用系统升级工具,没有把这个Web Page 的 CodeFile 变成 CodeBehind 。
而且仅仅只是这一个页面没升级,其他页面都升级了。
再加上这两个属性都是 Code 开头的,一不留神,就会觉得一个属性。结果忙活了一回。
CodeFile 与 CodeBehind 在使用上是有很大区别的
先看 MSDN 上的说明:
CodeBehind 
指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。
Specifies the name of the compiled file that contains the class associated with the control. This attribute is not used at run time.
CodeFile 
指定指向页引用的代码隐藏文件的路径。此属性与 Inherits 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。
Specifies a path to the referenced code-behind file for the control. This attribute is used together with the Inherits attribute to associate a code-behind source file with a user control. The attribute is valid only for compiled controls.
我这里碰到的情况就是,整个Web 项目被编译成了组件,但是 ASPX 页面有如下的定义: 
<%@ Page CodeFile="***"  Inherits="***" %> 
这时候,ASP.net 就需要找 CodeFile 中指定的文件,以便动态编译,但是找不到,所以就报上述错误了。
对于开发时,即 页面的逻辑代码 cs 文件存在的时候,下属两种写法都没有问题。
<%@ Page Language="C#" AutoEventWireup="true" Codebehind="index.aspx.cs" Inherits="Community.IndexHomePage.index" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="Community.IndexHomePage.index" %>
但是部署到站点后,我们不会部署 cs 文件,这时候,后一种写法就会报找不到文件的错误了。除非你把 cs 也部署出去,否则就会报编译时错误,找不到文件...
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

ASP.NET——CodeBehind 引起的遐思

场景一             “来帮我看看这个错误吧    ”         ...
  • u010293698
  • u010293698
  • 2014-12-14 18:08
  • 1039

ASP.NET、.NET和C#的关系是怎样的?

1、.NET是什么? .Net全称.NET Framework是一个开发和运行环境,该战略是微软的一项全新创意,它将使得“互联网行业进入一个更先进的阶段”,.NET不是一种编程语言. 简单说就是一组...
  • u011442532
  • u011442532
  • 2014-05-31 10:46
  • 11816

ASP.NET MVC:窗体身份验证及角色权限管理示例

前言   本来使用Forms Authentication进行用户验证的方式是最常见的,但系统地阐明其方法的文章并不多见,网上更多的文章都是介绍其中某一部分的使用方法或实现原理,而更多的朋友则发文询...
  • hpnets
  • hpnets
  • 2015-03-07 18:20
  • 4751

ASP.NET中的inherits、CodeFile、CodeBehind的区别详解

ASP.NET中的inherits、CodeFile、CodeBehind的区别详解
  • u012110480
  • u012110480
  • 2016-10-07 23:14
  • 93

asp.net中@page指令的属性Inherits、Src、CodeBehind区别

Inherits、Src、CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中。 通常一个 @p...
  • sinolzeng
  • sinolzeng
  • 2014-11-13 15:46
  • 455

Migrate an ASP.NET 1.1 Web Page Using the CodeBehind Attribute to ASP.NET 2.0

  • 2012-07-21 20:26
  • 186KB
  • 下载

CodeFile 与 CodeBehind

CodeFile 与 CodeBehind 的区别  今天同事在把一个Web项目从 Web Site 升级成 Web Application 应用后部署的时候,报错:Server Error in '...
  • xiaolai0602
  • xiaolai0602
  • 2011-03-12 20:45
  • 81

黑马程序员_Inherits、CodeFile、CodeBehind的区别

 Inherits、CodeFile、CodeBehind 在 ASP.NET 中使用代码隐藏方法来设计Web 窗体,可使页代码能够更清晰地从 HTML 内容中分离到完全单独的文件中。 通常...
  • pozhenzi9010
  • pozhenzi9010
  • 2014-03-04 22:16
  • 239

CodeFile 与 CodeBehind 的区别

CodeFile 与 CodeBehind 的区别 今天同事在把一个Web项目从 Web Site 升级成 Web Application 应用后部署的时候,报错: Server Erro...
  • changwei07080
  • changwei07080
  • 2012-04-10 09:09
  • 306

试问CodeFile、CodeBehind深几许?

到了One Week One Blog的时间了,最近在学习牛楠遇到了一个问题,写在这里记录一下成长过程吧。忘记了截图,所以借了一张图过来、遇到了这样的问题: 知识是相互贯通的,百度了一番之后,光明...
  • ma15732625261
  • ma15732625261
  • 2016-06-12 20:41
  • 745
    个人资料
    • 访问:339455次
    • 积分:5448
    • 等级:
    • 排名:第5732名
    • 原创:99篇
    • 转载:364篇
    • 译文:1篇
    • 评论:7条
    文章分类
    最新评论