• ASP.NET CodeFile VS CodeBehind


    在ASP.NET开发环境中, 新建Asp.net项目。新生成的Aspx文件中,会自动生成如下代码。

     <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CodeBehind.aspx.cs" Inherits="WebApplication.WebForm" %>

    在一个现行的项目中,同样类型的Aspx文件,其形式如下:

     <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CodeBehind.aspx.cs" Inherits="WebApplication.WebForm" %>

     这里便提出,CodeFile和CodeBehind的区别?

    结论是:

    1,CodeBehind属性,必须确保代码经过编译,代码运行时,对其CS文件进行编译不影响画面显示。

    2,CodeFile属性,经过编译的DLL可以删除不要,CS文件一旦修改,立刻反映到画面。

    (立刻反映,也需要画面重新加载,普通情况下F5刷新,或者后退再前进。) 

    3,CodeBehind属性的情况下,会重新加载一个新的designer.cs,当增加一个控件时,其designer.cs会自动生成。

    而CodeFile情况下,designer.cs不会自动生成。

    4,对Step3 进一步分析,不难发现1,2的区别。

    进一步说明,在Asp.net 2.0之前,不支持 CodeFile。 而最新的Asp.net则默认为CodeFile.

    如下所示 

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

     参照Link

     http://qiita.com/Booby/items/c092295379fe1dda6211#%E3%83%93%E3%83%AB%E3%83%89%E3%81%97%E3%81%A6%E3%81%A7%E3%81%8D%E3%81%9Fdll%E3%82%92ilspy%E3%81%A7%E9%80%86%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B

     https://codezine.jp/article/detail/173

    Love it, and you live without it
  • 相关阅读:
    sqlserver备份后无法还原的解决方法
    Silverlight如何与JS相互调用
    【转】体验 Silverlight 5 3D开发之环境搭配篇
    C#实现邮箱搬家功能(1):Pop3协议介绍
    【转】针对大数据量表的优化查询
    Centos7Docker安装Redis
    Centos7.*Consul安装配置
    Centos7Docker安装nacos
    Centos7Docker安装neo4j
    Spring框架根据传入参数动态的修改注解属性的值
  • 原文地址:https://www.cnblogs.com/tomclock/p/7601896.html
Copyright © 2020-2023  润新知