• CodeFile 与 CodeBehind 的区别



    以下是它们的区别:(原文: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 也部署出去,否则就会报编译时错误,找不到文件...

  • 相关阅读:
    Java equals()和hashCode()重写总结
    常见ORM框架理解
    struts2的第一个小页面
    Java开发StringBuilder类
    “中软综合项目实训”——把学生当员工培养
    中软寻梦
    软件开发学习的5大技巧
    从学生心理入手
    IT技术人员的职业发展方向
    驱动创新 引领未来
  • 原文地址:https://www.cnblogs.com/bandy/p/1782130.html
Copyright © 2020-2023  润新知