asp.net 中 .ASPX 与.CS文件的关系
.aspx文件继承自.cs文件
虽然一个 Web 窗体页由两个单独的文件组成,但这两个文件在应用程序运行时形成了一个整体。项目中所有 Web 窗体的代码隐藏类文件都被编译成由项目生成的动态链接库 (.dll) 文件。Web 窗体 .aspx 页文件也会被编译,但编译的方式稍有不同。当用户第一次浏览到 .aspx 页时,ASP.NET 自动生成表示该页的 .NET 类文件,并将其编译成另一个 .dll 文件。为 .aspx 页生成的类从被编译成项目 .dll 文件的代码隐藏类继承。
只要 Web 窗体页受到请求,此 .dll 文件就会在服务器上运行。在运行时,此 .dll 文件通过动态创建输出并将其发送回浏览器或客户端设备来处理传入请求和响应。
<%@ Page language=”c#” Codebehind=”WebForm.aspx.cs” Inherits=”MyNamespace.WebForm” %>
Codebehind=”WebForm.aspx.cs” 这一句表示绑定的代码文件
Inherits=”MyNamespace.WebForm” 这句非常重要,它表示页面继承的类名称,也就是CodeBehind的代码文件中的类,这个类必须从System.Web.WebControls.Page派生。
.aspx是设计页面,而.cs是类页面,也就是说设计页面用到的类信息在这个页面里面,其实就是把设计和实现分离开来。
这两个文件本来就有不同职责,怎么会合并?但是肯定是要联合生成一个文件。
partial类是类的一部分,显然完整的类即是把所有此类的partial类合并在一起形成一个完整的类。
加上partial关键字就像是分页的功能,一张纸不够写还要写在另一张上,最后合起来就好了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
asp.net 中 .ASPX 与.CS文件的关系的更多相关文章
- ASP.net中aspx与cs函数的互调
转载自:http://www.2cto.com/kf/201209/152898.html aspx前台的script函数,调用aspx.cs中后台函数: aspx: <script type= ...
- aspx文件、aspx.cs文件、aspx.designer.cs文件之讲解
.aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件中. .aspx.cs文件:(代码隐藏页)书写类代码.存储的是程序代码.一般存放与数 ...
- 为何没有.aspx.designer.cs文件?
designer.cs 是窗体设计器生成的代码文件,作用是对窗体上的控件做初始化工作(在函数InitializeComponent()中)VS2003以前都把这部分代码放到窗体的cs文件中,由于这部分 ...
- 老古董---ASP.NET中aspx页面runat="server"
自从 mvc3 被广泛的推进生产环境后,这个runat="server" 慢慢被人遗忘了... asp.net 的 webForm 基于控件的 html 渲染过程是否还记得呢?是 ...
- C#——Visual Studio项目中的AssemblyInfo.cs文件包含的配置信息
Visual Studio程序集项目中的AssemblyInfo.cs文件中的内容 using System.Reflection; using System.Runtime.CompilerServ ...
- ASP.NET中App_Code,App_Data等文件夹的作用
http://www.cnblogs.com/shiyu007/archive/2007/12/04/982264.html 1. Bin文件夹 Bin文件夹包含应用程序所需的,用于控件.组件或者需 ...
- 在asp.net 中怎样上传文件夹
以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传 ...
- asp.net中使用Global.asax文件中添加应用出错代码,写入系统日志文件或数据库
void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 Exception objErr = Server.Ge ...
- ASP.NET-MVC中Entity和Model之间的关系
Entity 与 Model之间的关系图 ViewModel类是MVC中与浏览器交互的,Entity是后台与数据库交互的,这两者可以在MVC中的model类中转换 MVC基础框架 来自为知笔记(Wiz ...
随机推荐
- WebClient外部请求乱码
WebClient web = new WebClient();//创建webclient对象 web.Encoding = Encoding.UTF8;//定义对象语言 var result = w ...
- tlb,tlh,tli文件的关系
tlb文件:com类型库文件.在需要使用对应com类的模块里,“#import ...*.tlb”使用之. tlh.tli文件:他们是vc++编译器解析tlb文件生成的标准c++文件.因为odl和tl ...
- Ubuntu Update-rc.d命令详细介绍
http://www.jb51.net/os/Ubuntu/182768.html Ubuntu或者Debian系统中update-rc.d命令,是用来更新系统启动项的脚本.这些脚本的链接位于/etc ...
- python备份脚本
备份制定文件到指定目录下,文件名以当前时间 思路: 1.指定备份的文件或目录 2.指定备份的目标路径 3.压缩备份名是当前日期和时间 4.使用标准的压缩命令 1.最简单的以日期时间为文件名 2.以日期 ...
- 判断对象是不是Vector
判断对象是不是数组可以用 var arr:Array = []; trace(arr is Array);//true var vec:Vector.<String> = new Vect ...
- centos下 forever: 让nodejs应用后台执行
在LINUX中我们可以使用这种简单的方式让node.js在后台运行: nohup node your_app.js & forever可以让我们做得更好,并且可以跨平台的在windows和Li ...
- android Locat工作日志的使用
#3.Logcat日志工具的使用 日志的等级: error:最高等级,错误信息,红色 warn:比较高,警告信息,橙色 debug:较高,调试信息,蓝色 info:一般,一般信息,绿色 verbose ...
- 再也不要看到Eclipse万恶的arg0,arg1提示
不知道大家跟我是否一下,遇到arg的提示. @Override public void onDateChanged(DatePicker arg0, int arg1, int arg2, int a ...
- 九度OJ 1501 最大连续子序列乘积 -- 动态规划
题目地址:http://ac.jobdu.com/problem.php?pid=1501 题目描述: 给定一个浮点数序列(可能有正数.0和负数),求出一个最大的连续子序列乘积. 输入: 输入可能包含 ...
- linux下screen工具的简单使用
有时候,希望即使退出终端了,下次登录linux的时候,还能回到程序的控制界面,这个时候,screen工具就很有用了例如,写了一个从控制台读取屏幕输入的程序input_test,如果从终端退出了,下次登 ...