博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeFile与CodeBehind的区别
阅读量:6770 次
发布时间:2019-06-26

本文共 1229 字,大约阅读时间需要 4 分钟。

引自:

asp.net发布项目之后 存在".cs"文件不存在

 

CodeBehind 指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。 Specifies the name of the compiled file that contains the class associated with the control. This attribute is not used at run time. 

指定包含与页关联的类的已编译文件的名称,编译完后所有cs中的代码打包进dll.该属性不能在运行时使用.提供此属性是为了与以前版本的 ASP.NET 的兼容,以实现代码隐藏功能。 

CodeFile 指定指向页引用的代码隐藏文件的路径。此属性与 Inherits 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。比如VS2005中新建一个网站你会发现编译比WEB应用程序慢很多,但是可以修改代码后不用整体编译刷新页面就可以看到效果.

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 也部署出去,否则就会报编译时错误,找不到文件...

 

 

 

转载于:https://www.cnblogs.com/biye/p/3369647.html

你可能感兴趣的文章
JavaScript 时间、格式、转换及Date对象总结
查看>>
令人作呕的OpenSSL
查看>>
计算机中的信息=位+上下文(转)
查看>>
angularjs中 *.min.js.map 404的问题
查看>>
Codeforces Gym 100342C Problem C. Painting Cottages 暴力
查看>>
WPF中Label使用StringFormat
查看>>
Open Live Writer
查看>>
FPGA功耗那些事儿(转载)
查看>>
建造者模式(屌丝专用)
查看>>
Google 地图 API V3 之控件
查看>>
读写文件:每次读入大文件里的一行、读写.CSV文件
查看>>
Toast信息框
查看>>
[翻译]应用程序池和应用程序域的区别
查看>>
最短JavaScript判断是否为IE6、IE的方法
查看>>
PHP同时上传“多个”文件示例,并格式化$_FILES数组信息
查看>>
Foundation: NSNotificationCenter
查看>>
TCP的状态 (SYN, FIN, ACK, PSH, RST, URG)
查看>>
四种常见的 POST 提交数据方式 专题
查看>>
centos7命令总结
查看>>
【网络】ssl与ssh
查看>>