ASP.NET中的Inherits、CodeFile、CodeBehind的总结比较

前言

敲牛腩发布系统忘记改了某一个参数,然后就发现,GG了,跳出一堆问题,一顿查找问题,仔细回忆改了什么,想起来了,之前web窗体上面都有
< %@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false"
Inherits="WebApplication1.WebForm1" %>
,然后我将codebehind改成了CodeFile,继续敲之后,呵呵,然后跳了错,一番搜索,给大家分享一下这几个的区别。

正文

这里写图片描述


Inherits(继承的意思)

msdn解释:定义供页继承的代码隐藏类。 它可以是从 Page 类派生的任何类。 此特性与 CodeFile 特性一起使用,后者包含指向代码隐藏类的源文件的路径。 Inherits 特性在使用 C# 作为页面语言时区分大小写,而在使用 Visual Basic 作为页面语言时不区分大小写。

如果 Inherits 特性不包含命名空间,ASP.NET 将检查 ClassName 特性是否包含命名空间。 如果包含,ASP.NET 将尝试使用 ClassName 特性的命名空间加载 Inherits 特性中引用的类。 (这假定 Inherits 特性和 ClassName 特性使用同一命名空间。)
Inherits 属性用于定义当前 Web 窗体所继承的代码隐藏类(该类是 System.Web.UI.Page 的派生类)。
这个 inherits 属性只用于采用代码隐藏方式编写的 Web 窗体,也就是,如果你的代码全都是在 Web 窗体的
标签中,就不必用这个属性了。

CodeFile

msdn解释:指定指向页引用的代码隐藏文件的路径。 此特性与 Inherits 特性一起使用,用于将代码隐藏源文件与网页相关联。 此特性仅对编译的页有效。

此特性用于网站项目。

Codebehind

msdn解释:指定包含与页关联的类的已编译文件的名称。 该特性不能在运行时使用。此特性用于 Web 应用程序项目。

Codebehind 属性并不是一个真正的 ASP.NET 属性,在ASP.NET 文档中是找不到它的。
它其实只是一个 Visual Studio .NET 属性,
Visual Studio .NET 就是借用这个属性来很好地跟踪管理项目中的 Web 窗体和与之相对的代码隐藏文件,
比如当你在设计环境中往 Web 窗体上放入一个服务器控件时,
Visual Studio .NET 将自动找到与该 Web 窗体相对应的代码隐藏文件,并自动插入相关的代码。

最后

最后得出结论是:

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

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

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

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

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

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
ASP.NET 是一个强大的 Web 应用程序开发框架,可以用于实现各种功能,包括手机注册。下面是一个简单的 ASP.NET 手机注册的示例: 1. 创建一个 ASP.NET Web 应用程序,打开 Visual Studio,选择“新建项目”,选择“ASP.NET Web 应用程序”。 2. 在“新建 ASP.NET Web 应用程序”对话框,选择“Web 应用程序”模板,并选择“空白”模板。 3. 在“新建 ASP.NET Web 应用程序”对话框,为您的应用程序命名,并选择一个位置来保存应用程序。 4. 在“解决方案资源管理器”窗口,右键单击“项目名称”节点,选择“添加新项”。 5. 在“添加新项”对话框,选择“Web 窗体”模板,并命名为“Register.aspx”。 6. 打开“Register.aspx”文件,添加以下代码: ```html <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Register.aspx.cs" Inherits="WebApplication1.Register" %> <!DOCTYPE html> <html> <head> <title>Register</title> </head> <body> <form id="form1" runat="server"> <div> <label for="txtName">Name:</label> <asp:TextBox ID="txtName" runat="server"></asp:TextBox> </div> <div> <label for="txtPhone">Phone:</label> <asp:TextBox ID="txtPhone" runat="server"></asp:TextBox> </div> <asp:Button ID="btnRegister" runat="server" Text="Register" OnClick="btnRegister_Click" /> </form> </body> </html> ``` 7. 打开“Register.aspx.cs”文件,添加以下代码: ```c# using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class Register : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnRegister_Click(object sender, EventArgs e) { string name = txtName.Text; string phone = txtPhone.Text; // 在这里添加将数据存储到数据库或其他存储介质的代码 } } } ``` 8. 运行应用程序,并在浏览器打开“Register.aspx”页面。在“Name”和“Phone”字段输入相应的值,并单击“Register”按钮。在“btnRegister_Click”事件处理程序,您可以添加将数据存储到数据库或其他存储介质的代码。 以上是一个简单的 ASP.NET 手机注册示例,您可以将其扩展为满足您特定需求的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值